2010-12-02 71 views
5

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

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

回答

9
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

试试这个。它会阻止同一活动的多个实例。你可以把它放在清单中

+2

我会试试看,但你能解释为什么同一个活动正在启动两次? – pankajagarwal 2010-12-02 11:34:55