Android8.0 静态注册广播的坑

版权声明:本文为博主原创文章,未经博主允许不得转载: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

 

猜你喜欢

转载自blog.csdn.net/qq_32425789/article/details/83655957
0条评论
添加一条新回复