为intent添加FLAG_EXCLUDE_STOPPED_PACKAGES标记
http://my.oschina.net/youranhongcha/blog/226274
3.1.1 为intent添加FLAG_EXCLUDE_STOPPED_PACKAGES标记
对应的代码为:
1
|
intent = new Intent(intent); // By default broadcasts do not go to stopped apps.intent.addFlags(Intent.FLAG_EXCLUDE_STOPPED_PACKAGES);
|
为什么intent要添加FLAG_EXCLUDE_STOPPED_PACKAGES标记呢?原因是这样的,在Android 3.1之后,PKMS加强了对“处于停止状态的”应用的管理。如果一个应用在安装后从来没有启动过,或者已经被用户强制停止了,那么这个应用就处于停止状态(stopped state)。为了达到精细调整的目的,Android增加了2个flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES,以此来表示intent是否要激活“处于停止状态的”应用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
/**
* If set, this intent will not match any components in packages that
* are currently stopped. If this is not set, then the default behavior
* is to include such applications in the result.
*/
public static final int FLAG_EXCLUDE_STOPPED_PACKAGES = 0x00000010 ;
/**
* If set, this intent will always match any components in packages that
* are currently stopped. This is the default behavior when
* {@link #FLAG_EXCLUDE_STOPPED_PACKAGES} is not set. If both of these
* flags are set, this one wins (it allows overriding of exclude for
* places where the framework may automatically set the exclude flag).
*/
public static final int FLAG_INCLUDE_STOPPED_PACKAGES = 0x00000020 ;
|
从上面的broadcastIntentLocked()函数可以看到,在默认情况下,AMS是不会把intent广播发给“处于停止状态的”应用的。据说Google这样做是为了防止一些流氓软件或病毒干坏事。当然,如果广播的发起者认为自己的确需要广播到“处于停止状态的”应用的话,它可以让intent携带FLAG_INCLUDE_STOPPED_PACKAGES标记,从这个标记的注释可以了解到,如果这两个标记同时设置的话,那么FLAG_INCLUDE_STOPPED_PACKAGES标记会“取胜”,它会覆盖掉framework自动添加的FLAG_EXCLUDE_STOPPED_PACKAGES标记。
为intent添加FLAG_EXCLUDE_STOPPED_PACKAGES标记相关推荐
- 为pony程序添加IACA标记(二)
在上一篇文章介绍了一种加IACA标记的方法,但使用还是很麻烦,所以我尝试修改pony编译器,直接增加了IACA支持,目前代码在iaca分支. 使用方法 因为还没发PR到上游,所以要自己克隆编译. gi ...
- Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)
Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部) 目录
- Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签、用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部)
Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签.用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部) ...
- ZedGraph怎样在双击图形后添加箭头标记
场景 在ZedGraph的曲线图上,双击图时会在图形上生成箭头符号标记. 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的 ...
- 百度地图添加文本标记
添加文本标记 还是很有用处的 用来给我们的地图上进行标记 然后给用户一些提示啥的 这个百度直接给我 封装好了 api 直接调用就显示出来了 官网介绍也很清晰 我在自己的博客中保存一份然后 ...
- 【android】3.0以后系统给广播默认加上FLAG_EXCLUDE_STOPPED_PACKAGES标记
// By default broadcasts do not go to stopped apps. intent.addFlags(Intent.FLAG_EXCLUDE_STOPPED_PACK ...
- GIS(一)——在js版搜索地图上添加Marker标记
由于我们做的是有关于旅游方面的项目,所以涉及到了地图功能.我接到的其中一个任务就是,在地图上显示指定的几个景点,并在地图上加上标记. 我们项目用的是搜狗地图,使用的是js版本.大家有兴趣的话,可以参考 ...
- excel透视表无添加字段_在Excel数据透视表中添加过滤器标记
excel透视表无添加字段 If you're using Excel 2007 or Excel 2010, you can quickly see which fields in a pivot ...
- 如何给h2添加php标记,如何为所有h2标签添加数字 - WordPress - srcmini
我有一个Wordrpess网站.我想为所有帖子在" h2标签"中添加一个数字 我的帖子格式: text text text text text text ... ... 我要这个: ...
最新文章
- 启动子级时出错_减速机安装与使用时需注意的八个要点,细节很重要!
- 靠纯技术是否能渡过中年危机
- Windows Vista Beta 1试用体会
- 目标跟踪_MeanShift
- 修改Linux字体出现乱码
- Web之间跳转和信息共享、Servlet的三大作用域对象、动态网页JSP
- sublime运行python代码,如何从Sublime Text 2运行Python代码?
- MySQL · 引擎介绍 · Sphinx源码剖析(二)
- java web-inf_对JavaWeb项目中WEB-INF目录的理解
- 什么程序员最易找工作? 十大热门语言大汇集
- 微信小程序——云开发入门
- 在手机/平板上安装kali系统
- 计算机微信接收excel打不开怎么回事,电脑端微信打不开怎么解决
- 6.26 Python小记**args** kwargs
- 项目管理软件Redmine
- SPFA算法(最短路径)
- 路由及路由器工作原理深入解析1:概述
- Ordinal numeral
- Mac下手动安装SafariDriver extension
- 丰炜vb0和两台变频器的modbus rtu通信程序 史上最好用的plc modbus rtu通讯程序, 通讯效果如视频,控制,反馈无延迟
热门文章
- EPICS modbus模块驱动程序示例2(模拟量)
- windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能
- 机器人被挠脚心_《fm及机器人系列(tk)》专题
- Anaconda点开一直处于loading application状态
- 北大计算机系工业设计考研,2019北京大学工学院工业设计工程考研经验分享
- 易基因|新品:新型肿瘤标志物检测利器——cfDNA甲基化测序(cfDNA-RBS)
- C# 25. 获取windows串口号对应的串口(设备)名称
- 老九学堂数据结构与算法章节1课堂笔记
- Adobe2023全家桶win及Mac系统安装包下载及安装教程ps、pr、ai、ae安装包下载
- 每周一计-自己动手做的电源