在做Android开发时,很多应用由于各种目的,希望在机器启动时被唤醒,一般的做法是写一个BroadcastReceiver,接收对应的boot action,当然别忘了在Manifest中添加permission "android.permission.RECEIVE_BOOT_COMPLETED“。但是最近在做4.0开发时,有同事声称这个广播接收不到了,同时其他有人又说自己的能接收到,到底是怎么回事呢。

原来,在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还是留了点余地,允许应用和后台服务通过给广播intent设置FLAG_INCLUDE_STOPPED_PACKAGES来唤醒处于“stopped state”的程序,也就是用户自己写的广播intent可以控制这个机制,但是系统自带的广播intent,由于不能修改,就只能接受这个现实了。

在3.1的更新文档中,能够找到上述修改的说明:http://developer.android.com/sdk/android-3.1.html#launchcontrols

Android3.1后Boot_COMPLETED广播不响应的问题相关推荐

  1. Android4.4KK中BOOT_COMPLETED广播问题的分析

    详细内容和具体分析流程也可以下载PDF文档: BOOT_COMPLETED issue analysis report 一.问题现象 手机开机后,按POWER键无法关闭屏幕,过了很长一段时间(20s左 ...

  2. 调用startActivityForResult后,onActivityResult无响应的题目

    人员都知道,可以经由过程应用 startActivityForResult() 和 onActivityResult() 办法来传递或接管参数. 然而在"轻听"项目中,还没比及被调 ...

  3. 记录WIN10选择文件右键后资源管理器无响应的解决方法

    现象:WIN10选择文件,右键文件后资源管理器无响应 解决方法:找到一种亲测可用的解决方法,即清除文件资源管理器历史记录 详细操作: 1.打开文件资源管理器 2.点击左上角[文件],点击[选项],找到 ...

  4. Android8.0后静态广播以及有序广播的使用

    Android8.0后静态广播以及有序广播的使用 我们都知道,8.0为了管理系统和节约电量特别针对广播和服务发送intent的方式启动做出的改变,Android8.0后正常静态注册的广播都没有用了,现 ...

  5. 笔记本电脑dns服务器没有响应怎么办,华硕笔记本重装系统后dns服务器未响应怎么办?...

    电脑使用的时候,出现问题的情况很多.而最近,就有位华硕笔记本用户,重装系统后,发现连接网络时,出现了无法连接的情况.经过检测,发现是DNS 服务器未响应导致的,想知道如何解决.下面一起来看看华硕笔记本 ...

  6. 从后渗透分析应急响应的那些事儿(二)免杀初识篇

    从后渗透分析应急响应的那些事儿(二)免杀初识篇 文章首发于freebuf Tidesec专栏 https://www.freebuf.com/column/204005.html,转载到个人博客记录, ...

  7. app接入支付宝后,支付成功后,回调不响应

    1.在支付时使用的是 [[AlipaySDK defaultService] payOrder: fromScheme: callback:^(NSDictionary *resultDic) { N ...

  8. 路由器设置好后服务器无响应,路由器设置好后提示服务器没响应

    路由器设置好后提示服务器没响应 内容精选 换一换 Computer:路由器连接交换机怎么建立局域网 目录 路由器连接交换机怎么建立局域网 步骤1:网络接线设置 [家庭网络环境布线] [电脑进入路由器] ...

  9. metersphere后置脚本提取响应头,响应体;

    一,首先观察下你的响应头,都是key:value形式的: 二,我们需要先添加一个后置脚本,右侧默认选择的beanshell编写: 三,点击右侧的获取响应头,就能得到完整的响应头,如下我们脚本的前两行: ...

最新文章

  1. 二十二、插值查找算法
  2. php面向对象中的魔术方法中文说明
  3. CSDN蒋涛大数据表明:DCO - 区块链时代企业级服务的全新机会
  4. boost::hana::back用法的测试程序
  5. 如何在ASP.NET Core程序启动时运行异步任务(2)
  6. 【渝粤题库】国家开放大学2021春1080工程数学(本)题目
  7. LInux:shell 命令:字符串截取
  8. 高度为5的3阶b树含有的关键字个数_第15期:索引设计(索引组织方式 B+ 树)
  9. oracle主备不同步,主备环境下数据不一致重新部署复制
  10. Yum本地Rpm库设置
  11. 对比Vector、ArrayList、LinkedList有何区别(转)
  12. 【字体】编程常用字体推荐,微软,苹果,开源系统默认代码字体
  13. mac 阿里云ecs配置php,在Mac OS下配置PHP开发环境
  14. Mac电脑 绑定阿里云企业邮箱
  15. ffmpeg音视频处理
  16. 最新在Anaconda环境下安装pytorch以及cuda!!!
  17. 论文阅读:2021.11.23~2021.12.1
  18. 关于分类模型评估指标的理解
  19. excel 转csv 导入数据库乱码解决
  20. 不二越机器人编程手册_NACHI机器人说明书.doc

热门文章

  1. Oracle 12c R1 Plug/Unplug 迁移PDB实验(1): 插拔 RAC PDB到 Non-RAC PDB
  2. 空气果Airnut1S拆解评测
  3. 视频教程-汇编语言程序设计V-其他
  4. SpringMVC实现服务器端推送服务
  5. 2个月面试腾讯、B站、网易等11家公司的面经总结!深夜思考
  6. Python pickle 介绍及使用理解
  7. 谁动了我的奶酪-----经典的话 经典的总结
  8. mysql集群搭建与总结
  9. 初学爬虫之 urllib 库的介绍与使用(一)
  10. Matlab-TOA定位算法性能仿真 TOA-LLOP和TOA-CHAN得到位置的估计 两种算法的性能比较 两种算法的RMSE曲线对比图