2015年5月28日 星期四

[Android - Wear] Notification - 堆疊通知(Stacking Notifications)

 Notification - 堆疊通知(Stacking Notifications)

在針對手錶設計Notification時,你可能會希望通知可以堆疊起來,

拿Google的範例圖來說,就像是下面的效果。















同一個群組的通知都會擠在一起,超過一則以上就會有一個more的選項,

點下去就會展開,使用者可以選擇想看的通知來閱讀。

那該怎麼實現呢,必須要注意兩點。

1.Notification ID 要不同

如果發兩則Notifciation出去,結果ID相同,後發的會蓋掉前發的。

2.設定相同的Group ID

要疊在一起的Notification,必須要是相同的Group ID。

程式碼如下:



將這個程式跑起來後的結果如下






















手錶的通知的確是堆疊起來了,但是手機端的通知也許你不想要這麼多則。

















這時候我們可以加入Summary Notification,也就是手機只保留一則,而手錶的是堆疊狀態,以這個例子來說,手機端可以只傳一個通知,上面寫有兩則新聞即可。

因此我們必須創建第三個Notification,填入相同的Group ID,以及設定GroupSummary為真,意思是,這個 Notification是這組通知的摘要(Summary)。

如此一來,你會得到以下的效果。














手錶端只有兩則,而手機端只有摘要通知。

要特別注意一點,若是你拿以前的程式碼來做修改,可能會遇到這種狀況














手機端有摘要通知,又有一般的通知,看起來很智障。

你可以檢查一下你發通知的物件是不是這個

如果是的話,把它改成這個吧,應該能解決你的問題。