【发布时间】:2019-03-15 07:47:54
【问题描述】:
即使使用 Intent,活动也不会从启动完成的 onReceive 的广播接收器开始。FLAG_ACTIVITY_NEW_TASK 没有帮助,仍然会出现相同的错误。
原因:android.util.AndroidRuntimeException:从 Activity 上下文外部调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?
public void onReceive(Context context, Intent intent) {
super.onReceive(context,intent);
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED) ||
intent.getAction().equals(Intent.ACTION_LOCKED_BOOT_COMPLETED)){
Intent mainActivityIntent = MainActivity.newIntent(context);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(mainActivityIntent);}
}
【问题讨论】:
-
我正在 Android 9 上尝试此操作,但仍然出现相同的错误,但此代码在 Android 7 上运行良好。
标签: android broadcastreceiver bootcompleted