版权声明:本文为博主原创文章,未经博主允许不得转载:https://blog.csdn.net/qq_32425789/article/details/83655957
今天在写demo时,踩到个吭
第一个坑:Android8.0使用静态注册广播无效
贴代码:
点击发送:
静态注册:
结果:
如果没:
intent.setPackage(getPackageName());
是无法发送静态广播的
原因:谷歌在8.0后为了提高效率,删除了静态注册,防止关闭App后广播还在, 造成内存泄漏, 现在静态注册的广播需要指定包名,而动态注册就没有这个问题
第二个问题: 无论是静态注册广播 还是动态注册广播,在接收广播的时候都不能拦截广播 否则会报错:
BroadcastReceiver trying to return result during a non-ordered broadcast