本文在简书同步更新:https://www.jianshu.com/p/16c66363c547
在实际应用中开机启动app一般不被推荐,主要用在一些特定的场景,否则用户厌烦的话会马上把app卸载的,不过有的手机在app第一次使用的话会弹出提示是否禁止这个功能的。本Demo是在Android7.0上运行。
#一、实现思路
当手机开机时一般会发送一条开机广播"android.intent.action.BOOT_COMPLETED",是不是这个时候只要我们的app能收到这条广播就可以打开自己的app了呢。但是心里想,app都没都有启动,怎么监听这个广播呢。翻阅网上的资料,还真的可以。
开机启动广播只要在app里面注册过一次,当手机开机的时候,app就算没有被打开也能收到这条广播,然后在自定义receiver接收到开机事件打开acitivity就可以[有坑,手动狗头]。
#二、代码实现
BootBroadCastReceiver
public class BootBroadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
Intent myIntent = new Intent(context, MainActivity.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//要加
myIntent.addCategory(Intent.CATEG