android在开机完成后会发送一个android.intent.action.BOOT_COMPLETED的广播,告诉系统内app们已经开机。
我们可以在需要开机自启动的app中定义一个广播接收器,接收到这个广播后就启动app的activity,从而达到开机自启动的目的。
一:在你的项目中,定义广播接收器,接收到开机完成广播后启动某activity
public class BootBroadcastReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent intent = new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
二:配置AndroidManifest.xml
1:添加权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2:注册广播接收器,并定义intent-filter接收开机完成广播
<receiver android:name=".路径.BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
ok,这个时候你的app安装到android设备后就会开机自启动啦。