AndroidManifest.xml <receiver android:name="com.tdr.coffeeserialport.service.StartReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver>
public class StartReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //此处及是重启的之后,打开我们app的方法 if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) { LogUtil.e("StartReceiver","-------开机自启动------"); Intent intents= new Intent(context, MainActivity.class); //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 非常重要,如果缺少的话,程序将在启动时报错 intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //自启动APP(Activity) context.startActivity(intents); //自启动服务(Service) //context.startService(intent); } } }