在3.1之后,系统的package manager增加了对处于“stopped state”应用的管理,这个stopped和Activity生命周期中的stop状态是完全两码事,指的是安装后从来没有启动过和被用户手动强制停止的应用,与此同时系统增加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES ,来标识一个intent是否激活处于“stopped state”的应用。当2个Flag都不设置或者都进行设置的时候,采用的是FLAG_INCLUDE_STOPPED_PACKAGES的效果。
有了上面的新机制之后,google觉得给所有的广播intent默认加上FLAG_EXCLUDE_STOPPED_PACKAGES会非常的Cooooool,能在一定程度上避免流氓软件、病毒啊干坏事,还能提高效率,就导致了本文题目中说的问题,RECEIVE_BOOT_COMPLETED广播如果用户没有运行过应用,就不会响应了。
不过google还是留了点余地,对于自定义的广播我们可以通过
setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);这个方法来唤醒处于“stopped state”的程序,也就是用户自己写的广播intent可以控制这个机制,但是系统自带的广播intent,由于不能修改,就只能接受这个现实了
例如:
Intent startIntent = new Intent();
startIntent.putExtra("pkg", getPackageName());
startIntent.setAction("com.lenovo.speechcamera.start");
startIntent.setFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(startIntent);
分享到:
相关推荐
android4.0测试代码;android4.0测试代码;android4.0测试代码;android4.0测试代码
android4.0 日历源码Calendar
Android4.0源码编译方法介绍,记录基于Ubuntu10.04编译Android4.0源码的过程。
Android 4.0以上系统中使用volley进行网络通讯
Android 4.0 Camera源码,该代码为Andriod 4.0 系统相机源代码。
android 4.0 sources 源码。主要用于编写程序时查看代码,即ctrl+鼠标单击
android4.0系统结构简单说明
首先确定你的手机是否root过,安装成功后打开一次, 重启手机会打开你指定的app, (求大神指教menu屏蔽长按事件)
Android 系统4.0 命名为 Ice Cream Sandwich(简称ICS,冰淇淋三明治),是谷歌发布新一代操作系统。Android4.0 拥有十大重点新特性。集成谷歌电视和Chrome OS的智能停放 ,运行速度得到进一步提升。2011年10月19日...
《细说Android 4.0 NDK编程》
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由...
android4.0 电子支付源码 NFC
mtk6577 android4.0 root工具
android4.0的原生照相机源代码,原生camera代码。
Android 4.0 组件库 for Axure 模板 一个中文模板,一个详细组件,组合使用,相得益彰
android4.0_Browser
压缩包内是原生的android4.0图库代码
android 4.0系统自带图标 需要的可以下载
android4.0-api14 无需解释
本书顺应Android软/硬件、云计算整合潮流,详细剖析了NDK开发中涉及的各类问题和解决方案:搭建Android NDK开发环境的每一步细节,开发第一个Android NDK程序,Android NDK中Java与C/C++代码的互相调用,Facade设计...