Android—应用程序开机自启

时间:2024-01-10 16:47:20

android开机时候会发送开机广播,我们想要收到广播知道手机开机,才能启动我们的应用程序。

首先要在配置文件中添加相应权限:

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

然后新建一个类继承BroadcastReceiver,并且重写onReceive方法,在此方法中添加以下代码:

if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {//接收到的广播是开机广播
            System.out.println("@@@@@@@@@@检测到开机@@@@@@@@@@@@@@@");
            Toast.makeText(context, "开机自动启动", Toast.LENGTH_SHORT).show();
            Intent intent1 = new Intent();
            intent1.setClass(context, ScanActivity.class);
            intent1.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);//跳转到自己的程序主界面
        }

不要忘记在项目清单文件中注册广播:

<receiver android:name="cn.dhsr.sirelinkscanapp.util.MyReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

注册广播代码添加在application节点下。

备忘,希望能帮助到大家