码迷,mamicode.com
首页 > 其他好文 > 详细

关于SDK>=26之后静态广播失效问题(Background execution not allowed: receiving Intent)

时间:2019-02-08 15:56:20      阅读:412      评论:0      收藏:0      [点我收藏+]

标签:限制   隐式intent   问题   comm   back   build   广播接收器   存在   context   

 在 SDK 26,通过令静态注册的广播接收器失效 以限制后台过多应用启动,接受广播等情况。

当运行时,会有以下LOG:

Background execution not allowed: receiving Intent

 

1.  如果是自己编写发送广播,可以通过 以下方式使广播工作

  (1) 

if(Build.VERSION.SDK_INT >= 26){
  //参数1-包名 参数2-广播接收者所在的路径名
  ComponentName componentName=new ComponentName(getApplicationContext(),"com.code.tx1n.tochat.MessageReceiver"); 
  
  myIntent.setComponent(componentName); }

  (2)  

 if(Build.VERSION.SDK_INT >= 26){

   //此方法功能更强大一些,但硬编码存在隐患

  myIntent.addFlags(0x01000000);

2. 如果是接收隐式Intent,则只能通过动态注册广播接收器解决

  

关于SDK>=26之后静态广播失效问题(Background execution not allowed: receiving Intent)

标签:限制   隐式intent   问题   comm   back   build   广播接收器   存在   context   

原文地址:https://www.cnblogs.com/xfdmyghdx/p/10356154.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!