在我的應用程序中,我正在應用推送通知並使用notificationCompat類進行通知。通知欄+推送通知說明
因此,我爲每個通知分配一個唯一的ID,因此每個通知在通知欄中單獨顯示。
當用戶點擊一個通知時,使用一個待定的意圖,我正在引導用戶走向某個活動,在那裏他可以看到所有以前的通知。 (我從MySQL數據庫讀取它們)。
問題1:我想,如果用戶點擊只在其中一人在狀態欄中的所有通知被清除。可以是任何隨機的(因爲它來自我的應用程序)。 setAutoCancel()方法只能刪除被按下的那個,而我似乎不知道我會在哪裏實現cancelAll()方法。
答案:
@Override
protected void onResume()
{
super.onResume();
NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.cancelAll();
}
問題2:由於每個通知具有唯一的ID,從個體應用程序發送幾個通知,以及在從所述用戶不檢查的情況下,可能會導致通知欄中出現多個圖標。 Android開始收集它們,並在他們開始佔用太多空間時顯示徽章號碼,並且系統意識到他們沒有足夠的空間。 有沒有什麼方法可以將它們從一開始組合起來?也就是說,只要我發送通知,並且沒有被選中,第二個應該被添加,並且無論系統使用什麼,單個圖標都應該出現在編號爲2或+的條上。
問題1:onResume顯示的活動或應用程序中的每個活動。問題2:我不知道任何現有的簡單方法來做到這一點,我通過手動跟蹤我自己的數據庫來做到這一點。 –
@ChorWaiChun謝謝。我用答案更新了我的問題,請看看。關於第二個問題,你是檢查每個用戶,如果他們檢查通知或否和計數?我沒有完全理解你。 – tony9099
我的應用程序基於聊天環境,每條消息我將在數據庫中更新其讀取和未讀狀態。所以我會在我的表格中填入未讀數量的徽章數量。 –