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

今天发现在android2.2时写的一款程序运行在android4.0上的时候无法接受开机广播(ACTION_BOOT_COMPLETED)。

后来发现是没有添加

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

的问题。

在3.1以前,android对自启动管理不是很严格,只要你的BroadcastReceiver的IntentFilter声明了

<action android:name="android.intent.action.BOOT_COMPLETED" /> 

就可以接收到开机广播。但是在android3.1对程序的自启动进行了规范(官方文档请点击此处)。

假如我们没有指定use-permission就无法收到开机广播。

如果你也碰到了这个问题,检查一下自己是不是忘记添加permission了吧^_^

注:如果你接收不到开机事件,在系统log里面会有一个permission denied的异常。

原文地址:https://www.cnblogs.com/Lefter/p/3055224.html