0
@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: アクティビティ コンテキストの外部から startActivity() を呼び出すには、FLAG_ACTIVITY_NEW_TASK フラグが必要です。これは本当にあなたが望むものですか?(AndroidRuntime への私の返信は次のとおりです。

4

1 に答える 1

0

呼び出すために間違ったインテント変数を渡していstartActivity()ます。新しいアクティビティを開始するために使用したいフラグをresultIntent追加していますが、新しいアクティビティを開始するときに誤って渡しています。FLAG_ACTIVITY_NEW_TASKresultIntentintent

resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

これをに変更

resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(resultIntent);
于 2012-05-16T11:27:45.433 に答える