Android FATAL EXCEPTION:IntentService [lectorc2dmuser@gmail.com]

时间:2012-05-16 11:23:43

标签: android android-intent android-c2dm

@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的回复是:"不是我正在做的事情吗?"); - )

1 个答案:

答案 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);