android应用实现开机自动启动方法
内容摘要
原理:Android系统在开机的时候会发出一个广播。这样我们就可以接收这个广播,然后启动我们的应用。广播接收器必须在xml里面配置,因为xml里面配置的广播接收器 是不随着应用的
文章正文
原理: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 测试的,要烦烦的设置一番:
点击 设置 》应用》找到你的应用》点击,拉到底下的 权限管理》自动启动》完成。
代码注释