Android开机自启动是通过BroadcastReceiver 注册开机广播来实现的
Android接收开机广播,需要用到播广播接收者BroadcastReceiver组件。
具体代码:
1.在配置文件AndroidManifest.xml中向系统注册receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
2.需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
3.创建一个广播类,在Receiver中就可以添加开机需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 开机后执行的代码
Intent intent2 = new Intent(context, SplashActivity.class);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
}
这是开机启动程序的闪屏页,其中intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);必须要
关键一点是:开机自启动的条件是在安装好APK之后需要手动点开软件一次,然后,再次开机才会自启动,
不然不会自启动,因为需要注册广播。。。