2010-12-02 19 views
5

Durum çubuğundaki bildirimi tıklattığımda bir etkinlik başlatır, ancak davranış gariptir. Uygulamam ön plandaysa ve bildirim tıklatıldığında bildirim amacı bir kez tetiklenir. Uygulamam arka planda ise, bildirim amacı iki kez tetiklenir. Eğer uygulamadan çıkarsam (yani tüm aktiviteler arka tuşa basılarak atılır), o zaman bildirim amacı bir kez ateşlenir. Bu davranışı herkes açıklayabilir mi? aşağıdaki gibi kod parçacığı geçerli:android bildirimi aynı etkinliği iki kez başlattı

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

cevap

9
_showActivityIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

bu deneyin. Aynı etkinliğin birden çok örneğini engeller. Bunu manifestoda da koyabilirsiniz

+2

Denerim ama aynı aktivitenin neden iki kez başlatıldığını açıklayabilir misiniz? – pankajagarwal

+0

http://developer.android.com/guide/topics/fundamentals.html#acttask. Belgeleri okursanız, her bayrağın ne yaptığını açıkça belirtir. – Varun

+0

Ama neden 2 ilk etapta başlatılıyor. Bu bir iş gibi görünüyor, bir düzeltme değil. –

İlgili konular