質問

ステータスバーの通知をクリックすると、アクティビティが起動しますが、動作は奇妙です。私のアプリが前景にあり、通知をクリックすると、通知の意図が一度起動されます。私のアプリがバックグラウンドにある場合、通知の意図が2回起動されます。アプリを終了すると(つまり、すべてのアクティビティが戻るボタンを押すことでポップされています)、通知の意図が一度起動されます。誰もがこの行動を説明できますか。コードスニペットは次のとおりです。

_notification = new Notification(icon_id, "Ticker Text", System.currentTimeMillis());
_showActivityIntent = new Intent();
_showActivityIntent.setAction(MyActivityName);
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_NO_HISTORY);
_showActivityPendingIntent = PendingIntent.getActivity(context, 0, _showActivityIntent, 0);
_notification.setLatestEventInfo(context, "My title", "My text", _showActivityPendingIntent);
_notificationMgr.notify(notificationId, _notification);
役に立ちましたか?

解決

_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

これを試して。同じアクティビティの複数のインスタンスを防ぎます。これをマニフェストにすることもできます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top