0

私のアプリでは、を使用してNotificationいます。ユーザーがこの通知をクリックすると、アプリケーションが起動するか (実行されていない場合)、またはダイアログが表示されます。アクティビティでは、チェックを行います

    intent = getIntent();
    if (intent.getExtras() != null) {
        mPrice = getIntent().getExtras().getString("price");
        showDialog(mPrice);
    }

通知を介してアクティビティが開始された場合を除き、すべてが正常に機能します。戻るボタンを使用してアプリを終了し、アプリを再度起動するたびに、ダイアログが表示されます。この Extras を使用して削除しようとしgetIntent().getExtras().remove("price")ましたが、機能しません。これを修正するには、通知をクリックするとダイアログが 1 回しか表示されませんか?

4

2 に答える 2

1

getExtras はエクストラのコピーを作成します。

使用する必要があります

getIntent().removeExtra("price");
于 2013-05-15T12:02:59.150 に答える
-1

getStringが実際に次のような値を返したことを確認します。

intent = getIntent();
if (intent.getExtras() != null) {
    mPrice = getIntent().getExtras().getString("price");
    if (mPrice != null) showDialog(mPrice);
}
于 2013-05-15T12:01:35.840 に答える