Android 应用程序不在系统启动时启动

Android app doesn't start at system boot

我有收件人

public class MyBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent myStarterIntent = new Intent(context, MainActivity.class);
        context.startActivity(myStarterIntent);
    }
}

并修改了 AndroidManifest.xml,添加了这些行

<receiver
    android:enabled="true"
    android:name=".MyBroadcastReceiver"
    android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
    android:exported="true">

    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

</receiver>

到部分。 该应用程序仍然没有在系统启动时启动..任何想法表示赞赏。至少我如何监控设备重启后发生的事情(因为在那种情况下我不能只使用断点)

BroadcastReceiver 开始 activity 时需要提供 Intent.FLAG_ACTIVITY_NEW_TASK 标志。

Intent myStarterIntent = new Intent(context, MainActivity.class);
myStarterIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myStarterIntent);

This 是测试 BroadcastReceiver.

的方法