Android APP开机自启实现

该文章描述了一个AndroidBroadcastReceiver类,用于在设备启动完成后执行特定操作。它首先检查并启动PermissionActivity来请求权限,然后在接收到ACTION_BOOT_COMPLETED意图时,延迟10秒启动相关任务。BroadcastReceiver在Manifest文件中被正确配置,并请求了接收启动完成权限。
摘要由CSDN通过智能技术生成

使用广播方式

public class BootBroadcastReceiver extends BroadcastReceiver {
	//先获取相关权限
    private void startPermissionActivity(Context context) {
        ComponentName name = new ComponentName(context.getApplicationInfo().processName, PermissionActivity.class.getName());

        Intent intentMain = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        intentMain.setComponent(name);
        try {
            context.startActivity(intentMain);
        } catch (Exception ex) {
            android.util.Log.e("BootStartReceiver", "bootStart.startActivity faild", ex);
        }

    }
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
        	// better delay some time.
	        handlerThread = new HandlerThread("startThread");
            handlerThread.start();
            handler = new Handler(handlerThread.getLooper());
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    startPermissionActivity(context);
                }
            },1000 * 10);
        }
    }
}

在Manifest文件中定义该Broadcast Receiver

	  <receiver
            android:name=".receiver.BootBroadcastReceiver"
            android:enabled="true"
            android:exported="true"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

加上所需权限

<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值