Demo地址  如果有所帮助记得关注,点Star
总结一下使用ACTION_BOOT_COMPLETED的广播,解决app开机自启动的问题
1.首先在你的工程上建一个广播接受的类,继承BroadcastReceiver:
| 1 | package guide.example.com.guidedemo; | 
2.然后要在AndroidManifest.xml中加入权限和配置相关信息:
 1
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.在application标签中,配置以下相关信息:1
2
3
4
5
6
7
8
9
10//BootReceiver是上面建的广播类
        <receiver android:name=".BootReceiver">  
            <intent-filter>  
                <!--注册开机广播地址-->  
                <action android:name="android.intent.action.BOOT_COMPLETED">            
                </action>  
                <category android:name="android.intent.category.DEFAULT" />  
            </intent-filter>  
        </receiver>
补充说明:
1.查看系统中是否安装了类似360管家的软件,为了加快开机速度,默认是关闭掉开机广播的,只需要在设置中打开即可。
2.如果监听不到广播,可以尝试同时监听广播和sd卡。
3.同时监听广播和sd卡,在application标签中,配置以下相关信息:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<receiver android:name=".broadcastReceiver.BootCompletedReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.HOME" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.PACKAGE_ADDED" />
            <action android:name="android.intent.action.PACKAGE_REMOVED" />
            <action android:name="android.intent.action.PACKAGE_REPLACED" />
            <data android:scheme="package" />
        </intent-filter>
    </receiver>
公众号:网罗开发

 
        