1. AndroidManifest.xml 权限设置
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2.广播
public class BootReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { // boot //启动服务 或者 Activity Intent intent2 = new Intent(context, MainActivity.class); // intent2.setAction("android.intent.action.MAIN"); // intent2.addCategory("android.intent.category.LAUNCHER"); intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent2); } } }
3.AndroidManifest.xml 注册广播
<receiver android:name=".reciver.BootReceiver" > <intent-filter android:priority="999"> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </receiver>
4.完成以上步骤就可构建开机自启动APP(注意:若完成以上步骤,确认代码无误,但还是无法监听到广播,可能是由于手机默认静止了App开机自启动(例如:华为、小米等),此时去权限管理中,给该APP授权即可)。