Android4.0有时接收不到开机广播

通过分析测试发现,若是应用程序安装上始终没有被打开过,那么在Android启动时,该应用没法接收到开机启动广播android.permission.RECEIVE_BOOT_COMPLETED。html

Android 3.1的更新文档中已经作了说明。android

下面是引自Android官方API说明,地址 http://developer.android.com/about/versions/android-3.1.html#launchcontrols测试

 

官方文档的部分翻译理解翻译

启动中止程序控制code

从Android 3.1开始,系统的软件包管理器跟踪处于中止状态(stopped state)的应用程序,控制其启动后台进程和其余应用程序提供了一种手段。htm

须要注意的是应用程序的中止状态(stopped state)和Activity的中止状态是不同的。该系统能够分别管理这两种中止状态。进程

该平台定义了两个新的Intent的Flag,控制发送者指定的Intent是否应该被容许激活中止的应用程序的组件。文档

当两个Flag都不设置或都设置的时候,默认操做是FLAG_INCLUDE_STOPPED_PACKAGES。get

请注意,系统会将FLAG_EXCLUDE_STOPPED_PACKAGES添加到全部的广播Intent中去。它这样作是为了防止广播无心中的或没必要要地开展组件的stoppped应用程序的后台服务。后台服务或应用程序能够经过向广播Intent添加FLAG_INCLUDE_STOPPED_PACKAGES标志来唤醒处于中止状态(stopped state)的应用程序。it

应用程序处于中止状态状况有两种:一种是他们是第一次安装,但还没有启动 ;另外一种是在管理应用程序中由用户手动中止。

相关文章
相关标签/搜索