android 4.0 USER_PRESENT监听不到??

============问题描述============


话说我们都知道的是我们可以静态注册USER_PRESENT这个广播,然后就可以让你的程序在被用户关掉后重启,但是小弟我遇到一[size=13px]个问题就是我在manifest中静态注册这个广播,运行后良好,但是我在【系统设置】-->【应用程序】中选中这个程序点击【强行停止】后,在android4.0以上的真机上就不能监听到这个广播了,但是我在android2.3的手机上是可以监听得到的,网上也没有找到解决方法,求大神~~

============解决方案1============


楼主,这个问题我研究了一阵子,最后发现如果是三方应用没有系统权限的话,无解。
原因如下:
谷歌为了安全考虑(避免流氓软件、病毒啊干坏事,还能提高效率),4.0以后加了2个Flag:FLAG_INCLUDE_STOPPED_PACKAGES和FLAG_EXCLUDE_STOPPED_PACKAGES。系统发出的广播带有FLAG_EXCLUDE_STOPPED_PACKAGES这个flag,在应用进程没有启动的情况下是不能接收到的。
当然如果是用户自定义的广播可以带有FLAG_INCLUDE_STOPPED_PACKAGES这个flag,那么即使应用没启动也可以收到广播(很遗憾啊!只能是三方自定义的广播)。

转载于:https://www.cnblogs.com/hugangyan86/p/4030354.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值