2010-07-05 97 views
6

當用戶單擊通知時,清除通知號碼的最佳方式是什麼?我說最好的方式,但我真的沒有找到任何方式。當用戶點擊通知時,我正在啓動內置活動,而不是我寫的內容,所以我無法以這種方式清除它。我已經得到了通知經理人的標誌設置,清除如何在通知清除時重置通知管理員號碼

NotificationManager notification 
    . 
    . 
    . 
    notification.flags |= Notification.FLAG_AUTO_CANCEL; 
    notification.number++; 
    nm.notify(1,notification); 

但是,不管我做Notification.number不斷上升,從來沒有重置爲0

回答

2

你可以使用一箇中介活動這是屬於你應用程序,因此可以重置您的變量,然後開始內部活動。

所以這個產業鏈將是

通知--starts - >中介活動--starts - >內置活動

+4

它不需要是一箇中介活動。 'Notification'可以有一個'PendingIntent'用於廣播'Intent',由'BroadcastReceiver'拾取,清除'Notification'並調用另一個activity的'startActivity()'。這樣,就不會出現UI呃逆。但是,一項活動(或可以想象的服務)也可以發揮作用。 – CommonsWare 2010-07-05 11:11:40

+0

因此,我只能設置一個廣播接收器來清除通知計數?我以爲你只能修改你自己活動的通知? – JonF 2010-07-07 02:50:18

0

我使用和擴展應用程序的什麼@CommonsWare推薦組合對象在這裏How to update notification number

編輯:進一步的測試表明,實際上這不起作用,因爲BroadcastReceiver在每個通知上被調用,並且因爲它重置了每個通知上的數字,所以該數字永遠不會正確。