`
notebook
  • 浏览: 10802 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

android3.1以上收不到广播问题

阅读更多

今天遇到程序A关闭后,程序B给A发送广播,但A收不到,这种情况在android3.0(包括3.0,即版本11)以下可以收到,但3.0以上就收不到了。从这篇文章找到了答案http://blog.csdn.net/alex_hx/article/details/7501374

原来3.0后,安装后从来没有启动过和被用户手动强制停止的应用是收不到广播的;因为系统增加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGESFLAG_EXCLUDE_STOPPED_PACKAGES,发送广播时候,Intent默认是FLAG_EXCLUDE_STOPPED_PACKAGES

所以做了以下修改:

 int version=Integer.parseInt(android.os.Build.VERSION.SDK);
 if (version>11) {  //版本12及以上,即3.1及以上
  mIntent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
 }

   或者

    

 int version=android.os.Build.VERSION.SDK_INT;
 if (version>11) {
  mIntent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
 }

 

 自己写的广播可以添加修改,但系统发送的广播,例如开机广播等就修改不到了,这个问题有待高手回答。

分享到:
评论

相关推荐

    android 4.0接收开机广播

    需要注意的是,Android 3.1及以上版本引入了对后台启动的限制,非系统应用在用户首次启动后才能接收ACTION_BOOT_COMPLETED广播。因此,如果用户从未启动过应用,即使注册了开机广播,也不会立即生效,需要先手动启动...

    接收开机广播

    然而,由于Android 3.1及以上版本的安全策略,非系统应用不能立即接收到开机广播,而是会被延迟到用户首次启动应用之后。 二、创建开机广播接收器 要创建开机广播接收器,首先需要创建一个新的Java类,继承自`...

    Android U盘插拔监听以及U盘写入权限解决办法

    在Android 3.1及以上版本,系统支持USB主机模式,允许设备作为USB主机连接外部设备,如U盘。要监听U盘的插入和拔出事件,我们需要注册一个BroadcastReceiver来接收ACTION_USB_DEVICE_ATTACHED和ACTION_USB_DEVICE_...

    安卓广播源码

    无序广播不保证接收者的执行顺序,所有匹配的接收者会同时接收到广播,无法被拦截或修改数据。无序广播通常效率较高,但不适合需要控制处理流程的情况。 3. **本地广播(Local Broadcast)**: 本地广播仅限于...

    Android中程序的停止状态详细介绍

    很多人遇到过广播收不到的问题,比如Google Play推广安装广播没有收到等,诸如这些问题,又都是什么原因呢,这篇文章将进行回答. 从Android 3.1(HoneyComb) 也就是API 12开始,Android引入了一套新的启动控制,这就是程序...

    android5.0及以上,通过包名判断是否在运行,不需要用户授权

    然而,从Android 3.1(Honeycomb)开始,这个方法对外部应用返回的结果是受限的,所以此方法在5.0及以上版本可能无法获取到所有运行的任务。 2. **服务状态检查**: 使用`ActivityManager`的`getRunningServices()...

    Android程序设计基础_光盘源码

    在"Android程序设计基础"的学习中,你将接触到以下关键概念: - **Activity**:Android应用的基本交互单元,负责处理用户交互和展示UI。 - **Intent**:用于在不同的组件之间传递消息,实现应用间的通信。 - **...

    AndroidUSBCamera-master.zip

    在Android 3.1及以上版本,系统引入了USB主机模式(USB Host Mode),允许设备作为USB主机连接并控制USB设备,如摄像头。因此,首先需要在AndroidManifest.xml中添加USB访问权限: ```xml <uses-feature android...

    Android恢复出厂流程

    通过以上分析可以看出,Android恢复出厂设置的功能不仅涉及到了用户界面的设计,还包括了底层的数据管理和清理逻辑。整个流程既考虑了用户体验,又注重了安全性,确保在不同情况下都能正确无误地执行恢复出厂设置...

    基于Android平台的USB数据采集系统.pdf

    1. **USB设备连接检测**:当USB设备连接到Android设备时,Android系统会触发一个广播事件,应用程序需要监听这个事件以获取USB设备的信息。 2. **权限请求**:应用程序需要向用户请求权限以访问特定的USB设备。 3. *...

    Android多用户实现和原理

    多用户模式的引入涉及到了系统的多个方面,包括但不限于: - **锁屏界面**:多用户模式下,锁屏界面需要展示不同的用户头像和切换选项。 - **外部存储**:不同用户之间如何隔离外部存储空间,确保数据安全。 - **包...

    android usb摄像头 支持yuyv mjpeg格式

    Android系统自3.1版本开始引入了USB主机模式(USB On-The-Go, OTG),使得Android设备可以作为USB设备的主机,连接并控制USB摄像头。为了实现这一功能,Android提供了MediaCodec API和USB Accessory Framework。...

    android从入门到精通

    ### Android从入门到精通 #### 一、Android概述与环境搭建 ...以上是关于“Android从入门到精通”的详细介绍,涵盖了从基础知识到高级特性的各个方面,希望能帮助读者全面了解Android开发的相关知识。

    Android手机开发教程.docx

    后续章节可能涵盖Intent的使用、Service的创建、Content Provider的操作、BroadcastReceiver的广播接收、多线程处理、网络编程、数据库操作等内容,逐步深入Android开发的各个方面。 通过本教程的学习,你将能够...

    android键盘锁死源码

    同时,由于Android系统的安全性不断加强,自Android 3.1版本起,非系统应用无法完全阻止Home键的行为,只能做到部分拦截。在Android 7.0及以上版本,谷歌进一步限制了这种行为,使得在应用中完全禁用Home键变得更加...

    基于Android,后台监听机制的程序实现.docx

    在Android中,后台监听主要指的是能够持续运行在后台的应用程序或服务组件,它们通常不与用户直接交互,而是负责监听特定的系统事件或广播,并作出相应的响应。这种监听机制可以通过两种主要的方式实现:...

    Python接收手机短信的代码整理

    需要注意的是,由于Android 3.1及以上版本的限制,如果应用不是默认的短信应用,那么在后台运行时可能无法接收到短信。因此,为了在所有情况下都能捕获短信,可能需要在应用中处理权限请求和用户提示。 在Python端...

Global site tag (gtag.js) - Google Analytics