原理:Android系统在开机的时候会发出一个广播。这样我们就可以接收这个广播,然后启动我们的应用。广播接收器必须在xml里面配置,因为xml里面配置的广播接收器 是不随着应用的退出而退出的。
广播接收器:
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标签里面配置:
<!-- 开机启动 -->
<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>
加上权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
这样就可以了。
我用的是 红米note 测试的,要烦烦的设置一番:
点击 设置 》应用》找到你的应用》点击,拉到底下的 权限管理》自动启动》完成。