@Override
protected void onMessage(Context context, Intent intent) {
Log.e("C2DM", "Neue Message.");
Intent resultIntent = new Intent(context, ResultActivity.class);
resultIntent.putExtra("message", "Message received");
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
我可以从我的logcat中看到我进入这个方法,然后当它尝试启动活动时,它会抛出致命异常,如标题所示,带有以下注释:
android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。这真的是你想要的吗? (我对AndroidRuntime的回复是:"不是我正在做的事情吗?"); - )
答案 0 :(得分:0)
您正在将错误的intent变量传递给startActivity()
调用。您希望使用resultIntent
开始新活动,并将FLAG_ACTIVITY_NEW_TASK
标记添加到resultIntent
,但在开始新活动时,您错误地传递了intent
,即
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
将此更改为
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(resultIntent);