FLAG_EXCLUDE_STOPPED_PACKAGES导致接受不到广播

从 Android 3.1 开始,系统广播默认加入 FLAG_EXCLUDE_STOPPED_PACKAGES 标志,仅向运行中的应用发送广播。本文介绍了这一改动的目的,即阻止已停止应用接收系统广播,从而避免非正常后台服务启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android 3.1之后增加了系统的安全权限,为了防止有些应用通过静态注册的广播而开启。在系统发出的广播中默认加上了FLAG_EXCLUDE_STOPPED_PACKAGES的flag,加上这个flag之后,不会去匹配包下面没有开启(就是已经停止的)组件。就是说当前应用在没有开启的情况下,即使注册了静态广播,系统的广播(由于设置了默认的flag)发出广播时,只会向那些应用已经开启的广播发送。所以这就限制了那些通过接受系统广播启动的流氓后台服务。


这个


FLAG_EXCLUDE_STOPPED_PACKAGES:

如果设置该属性,广播只会发送给已经开启的应用

FLAG_INCLUDE_STOPPED_PACKAGES

如果设置该属性,广播会发送给所有的应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值