原理: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 测试的,要烦烦的设置一番:
点击 设置 》应用》找到你的应用》点击,拉到底下的 权限管理》自动启动》完成。