安卓平台设置程序为开机自启动

一、Unity导出安卓工程

        首先将Unity项目导出为安卓工程,注意将构建平台选择为Android。

        勾选Export Project便可。 

二、安卓工程配置

        用Android Studio打开安卓工程。

1、Gradle升级

        由于Unity构建的安卓工程Gradle版本较低,需要升级才行,否则安卓工程编译时报错。只需要按照Android Studio的弹窗提示升级便可。

         点击Run selected steps,只需要升级一次至4.2.2便可。

        注:这里由于之前升级过,不需要再次升级。 

2、编译SDK版本及目标SDK版本设置

        将launcher及unityLibrary的build.gradle中的SDK版本设为30或以上。

3、新建开机广播接收器 

        新建java类,并继承BroadcastReceiver,作为开机广播接收器。

        注意,需要在unityLibrary的java目录下com.unity3d.player包名下创建。

        只需要在unityLibrary上右键New-->Java Class便可。

        示例代码如下:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class StartReceiver extends BroadcastReceiver {
    public StartReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        //设备重启之后,打开应用
        if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
            Intent startIntent = new Intent(context, UnityPlayerActivity.class);
            //非常重要,如果缺少的话,程序将在启动时报错
            startIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            //自启动APP(Activity)
            context.startActivity(startIntent);
        }
    }
}

 4、添加开机广播接收权限

        在unityLibrary的AndroidManifest.xml文件里添加。

        注意,在manifest节点里添加。

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

5、注册广播接收器

        在unityLibrary的AndroidManifest.xml文件里注册。

        注意,在application节点里注册,与activity节点并列。

<receiver
    android:name=".StartReceiver"
    android:enabled="true"
    android:exported="true">
  <intent-filter android:priority="1000">
    <action android:name="android.intent.action.BOOT_COMPLETED"></action>

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

6、构建APK

        Build-->Build Bundle(s)/APK(s)-->Build APK(s)。

三、注意事项

1、安卓版本问题

        在安卓版本4.0以上的设备上,需要手动开启一遍程序,让设备信任程序后才能生效开启自启。

2、PICO4设备问题

        对于关闭系统权限的PICO4设备,此方法失效。

猜你喜欢

转载自blog.csdn.net/qq_40364278/article/details/131578222
今日推荐