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设备后就会开机自启动啦。