在杀死进程后,如何收到广播呢?
- 先说结论:
3.1之前,可以。
3.1之后,系统广播不可以。自定义广播可以。 - 原因:
在3.1之后,系统的package manager增加了对处于“stopped state”应用的管理,
所谓“stopped state”就是说该app从未运行过 或 运行过但是现在停止运行了
同时系统增加了2个Flag:
FLAG_INCLUDE_STOPPED_PACKAGES
FLAG_EXCLUDE_STOPPED_PACKAGES
google在3.1之后给所有的广播都默认加上了FLAG_EXCLUDE_STOPPED_PACKAGES,所以在进程没了的情况下,是收不到广播的。
但是自定义广播的话,我们可以
1 | Intent brIntent = new Intent(); |
这样手动添加一个flag,就可以了。
所谓葫芦娃保活措施就可以这么搞起来
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 七夜的小屋!