1

私はアンドロイドアプリケーションに取り組んでいます。私のアプリでは、通知を使用しています。screen1 と screen2 の 2 つの画面があります。通知が来たときはいつでも。通知をクリックすると、画面2につながります。今私の問題は、私がスクリーン2にいる場合です。新しい通知が 1 つ届き、通知をクリックすると画面 2 が開きます。次に戻るボタンをクリックすると、画面 2 が再び表示されます。前の画面 2 の前にある通知を開く画面 2 をクリックするためです。どうすればこの問題を克服できますか?

4

2 に答える 2

3

マニフェストファイルでアクティビティを単一のインスタンスとして定義するだけです

 <activity android:name=".Screen2"
       android:launchMode="singleTask" />

を使用launchModeすると、アクティビティが複数回起動されるのを防ぐことができます。

于 2012-10-03T09:36:43.393 に答える
2

このフラグ値を通知インテントに追加します。

notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP| Intent.FLAG_ACTIVITY_NEW_TASK);

これにより、呼び出されたアクティビティがスタックの一番上にある場合、その新しいインスタンスは作成されず、代わりにそのアクティビティに移動するのに役立ちます。

于 2012-10-03T09:38:49.163 に答える