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);
这是广播接收器代码,求大神指点
以上是关于android接受不到开机广播的主要内容,如果未能解决你的问题,请参考以下文章
Android入门第48天-静态BroadCast之接受开机广播