6

当我单击状态栏上的通知时,它会启动一个活动,但行为很奇怪。如果我的应用程序在前台并且我单击通知,则会触发一次通知意图。如果我的应用程序在后台,那么通知意图会被触发两次。如果我退出应用程序(即所有活动都已通过点击后退按钮弹出),则会触发一次通知意图。谁能解释这种行为。代码片段如下:

_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 回答