前面的文章Android 开机的使用中已经提到Android的开机启动,但是在Android 4.0 有时可以接收到开机启动,有时却不可以。经过分析发现,如果应用程序安装上始终没有被打开过,那么在Android启动时,该应用无法接收到开机启动android.permission.RECEIVE_BOOT_COMPLETED。 从Android 3.1开始,系统的软件包管理器处于停止状态(stopped state)的应用程序,提供了一种控制其启动后台进程和其他应用程序方式。 需要注意的是应用程序的停止状态(stopped state)和Activity的停止状态是不一样的。该系统可以分别管理这两种停止状态。 该平台定义了两个新的Intent的Flag,让发送者指定的意图是否应该被允许激活停止的应用程序的组件。 应用程序处于停止状态情况有两种,一种是他们是第一次安装,但尚未启动,另一种是在管理应用程序中由用户手动停止。 简单的说,就是防止开机启动恶意程序,优化启动。经过验证发现,系统级的应用程序是可以接收到开机启动的。 推荐:
|