0

我有一个接收器

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>

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

4

1 回答 1

1

从 开始活动时,您需要提供Intent.FLAG_ACTIVITY_NEW_TASK标志BroadcastReceiver

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

就是您可以测试BroadcastReceiver.

于 2016-02-05T13:51:52.367 回答