6

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

_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);
4

1 に答える 1

9
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

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

于 2010-12-02T11:30:17.457 に答える