美文网首页
Android APP 开机自启动

Android APP 开机自启动

作者: new和光同尘 | 来源:发表于2020-12-02 17:45 被阅读0次

    工作过程中遇到一个需求,要求手机重启之后,自己写的APP中的服务生效

    思考:

    1. 要想自己APP中的服务生效,必须先启动APP
    2. 问题转化成手机重启之后 将自己开发的APP 自主启动起来
    3. 手机重启/开机完成后,系统会有一个启动完成的广播 ACTION_BOOT_COMPLETED
    4. 在我的APP中监听这个广播,收到广播 意味着手机完成重启/开机,然后把自己的APP调用起来

    实操:

    首先需要再AndroidManifest.xml中添加接收重启的权限,并注册一个广播接收器

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    
    
    <!--在 application标签下-->
    <receiver android:name=".BootBroadcastReceiver">
        <intent-filter android:priority="1000">
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </receiver>
    

    广播接收中监听 ACTION_BOOT_COMPLETED,监听到之后 就启动项目的入口Activity

    public class BootBroadcastReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
                Intent intent2 = new Intent(context,MainActivity.class);
                intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
                context.startActivity(intent2);
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:Android APP 开机自启动

          本文链接:https://www.haomeiwen.com/subject/fjjuwktx.html