android应用实现开机自动启动方法

时间:2021-09-04 19:40:24

原理:Android系统在开机的时候会发出一个广播。这样我们就可以接收这个广播,然后启动我们的应用。广播接收器必须在xml里面配置,因为xml里面配置的广播接收器  是不随着应用的退出而退出的。

广播接收器:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package com.yangshidesign.boot;
 
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
 
public class BootReceiver extends BroadcastReceiver {
 @Override
 public void onReceive(Context context, Intent intent) {
 Intent i = new Intent(context, UnityPlayerNativeActivity.class);
 //这个必须添加flags
 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(i);
 }
}

 

在manifest的application标签里面配置:

?
1
2
3
4
5
6
7
<!-- 开机启动 -->
<receiver android:name="com.yangshidesign.boot.BootReceiver">
<intent-filter>
 <action android:name="android.intent.action.BOOT_COMPLETED"/>
 <category android:name="android.intent.category.HOME"/>
</intent-filter>
</receiver>

加上权限:

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

这样就可以了。
我用的是  红米note  测试的,要烦烦的设置一番:
点击  设置 》应用》找到你的应用》点击,拉到底下的 权限管理》自动启动》完成。