2011-05-05 105 views
0

假設我的應用程序發佈了帶有文本「hello」的狀態欄通知。 「hello」通知在通知區域中顯示正常。
現在,如果我的應用程序在第一個「hello」仍在通知區域中時再次發佈「hello」,通知區域仍然包含單個「hello」通知,這也沒關係。
但現在,如果第一個「hello」通知從通知區域被取消(刪除),然後 發佈了第二個「hello」通知,我希望通知區域顯示 (第二個)「hello」通知再次,但它不顯示任何「你好」的通知。僅在第一次在通知區域顯示通知

這是爲什麼,我該如何解決這個問題?

這是我所做的: 發佈通知之前我總是: intent.setAction(「」+ new Date()。getTime()); 和我創建內容意圖爲:

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, flag); 

我嘗試所有關於「標記」但它們都沒有以下值解決了這個問題:
1)PendingIntent.FLAG_ONE_SHOT
2)PendingIntent.FLAG_CANCEL_CURRENT
3)0

通知標誌總是設置爲

notification.flags |= 
    Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR; 

感謝

+0

** notification.flags **的初始值是什麼?在上面的代碼中,你只是按位進行設置,而不是完全設置它。 – dmon 2011-05-05 19:21:26

回答

1

我猜你的代碼看起來像下面的代碼:

String ns = Context.NOTIFICATION_SERVICE; 
NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

<some other code> 

private static final int ID = 1; 
mNotificationManager.notify(ID, notification); 

如果是這樣,請嘗試更改「ID」是爲每個通知獨特。

+0

這解決了我的情況。我向Application類添加了一個靜態計數器。 – shaharsol 2012-08-21 11:59:28