android接受不到开机广播

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android接受不到开机广播相关的知识,希望对你有一定的参考价值。

manifast里注册 和 但是在BootReceiver中接受不到广播 @Override public void onReceive(Context context, Intent intent) Log.i("TAG", "系统启动完毕"); 这是怎么回事,代码有问题么?

参考技术A intent
判断
intent.getAction()是否与
android.intent.action.BOOT_COMPLETED
相同,发出的是这个,你没监听这个Action

另外注意的是,如果是
3.1以下的系统,没问题。3.1以上的系统,需要有Activity存在,并且启动一次程序,才能够实现广播。
参考技术B android4.0以后就禁用了第三方APP的开机广播,只有系统应用才能收到开机广播。官网文档就这么说的。还有就是第三方APP必须要启动过一次才能接收到,如果你的app没有任何界面,只是在后台启动一个服务,google会认为是流氓软件,禁止启用开机广播。

android4.4.4开机广播有时会收不到,请问大神是啥原因???

我抓了10次Logcat会有3次收不到,
<service android:name="com.dfzt.service.InitConfigService">
<intent-filter android:priority="999" >
</intent-filter>
</service>

<receiver android:name="com.dfzt.broadcast.InitConfigBroadCast">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" ></action>
</intent-filter>
</receiver>
这是清单的注册代码
public class InitConfigBroadCast extends BroadcastReceiver

@Override
public void onReceive(Context context, Intent intent)
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
Log.d("TianXin", "Go In Boot Receiver");
Intent serviceIntent = new Intent(context, InitConfigService.class);
serviceIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(serviceIntent);



这是广播接收器代码,求大神指点

4.0以后就禁止了第三方应用接收开机广播。有人说应用要打开一次后才能收到,可是经验证是不行的。现在包括微信、QQ之类的牛逼app都无法接收 参考技术A 我的广播也不好使 ,模拟器不好用

以上是关于android接受不到开机广播的主要内容,如果未能解决你的问题,请参考以下文章

Android入门第48天-静态BroadCast之接受开机广播

android4.4.4开机广播有时会收不到,请问大神是啥原因???

如何解决App无法收到android开机广播

android 一段时间后手机应用接收不到广播了

Android 使用广播系统解决app开机自启动问题

android再发一次开机广播