手錶通知與手機通知使用相同的 API,兩者的結構也相同。
通知在手錶上有兩種顯示方式:
- 由行動應用程式建立通知,然後由系統自動橋接到手錶。
- 由穿戴式應用程式建立通知。
這兩種情況都可使用 NotificationCompat.Builder
類別建立通知。您使用 builder 類別建構通知時,系統可以妥善處理顯示通知作業。舉例來說,當您從行動應用程式發出通知時,每個通知都會以卡片形式顯示在通知串中。
請查看下列範例,瞭解通知的顯示方式。
為求最佳結果,請使用 NotificationCompat.Style
子類別。
注意:
儲存空間使用量:RemoteViews
不顯示自訂版面配置的通知,穿戴式裝置則只會顯示文字和圖示。
建議讓穿戴式裝置使用的通知
建議將可展開式通知做為所有通知的基礎,因為它是與穿戴式裝置使用者互動的好方法。通知列會顯示呈現收合狀態的通知,使用者可一目瞭然。當使用者輕觸通知,通知會展開並顯示更多內容和動作,使用者可以捲動查看,享有沈浸式體驗。
可展開式通知的建立方式和您在行動裝置上使用任何 NotificationCompat.Style
子類別建立通知的方式相同。舉例來說,一般使用 NotificationCompat.MessagingStyle
的通知看起來會像這樣:
您可以看到通知在展開狀態時,底部顯示了多種動作。
NotificationCompat.BigPictureStyle
、NotificationCompat.BigTextStyle
、NotificationCompat.InboxStyle
及 NotificationCompat.MessagingStyle
等範例請參考 GitHub 的通知示例。
提示:如果您的通知內有「回覆」動作 (例如訊息應用程式的通知),您可以加強通知的行為。舉例來說,您可以啟用語音輸入功能,直接從穿戴式裝置回覆,或是利用 setChoices()
輸入預先定義的文字回覆內容。詳情請參閱「新增回覆按鈕」。
避免重複通知
根據預設,系統會將通知從配對手機應用程式橋接到任何配對的手錶。如果您並未安裝任何穿戴式應用程式,建議採用這種做法。
不過,如果您建構了獨立的手錶應用程式,並有配對手機應用程式,那麼應用程式便會建立重複通知。
Wear OS 可以利用橋接 API 防止重複通知。這是 尤其是在搭載 Wear OS 5 以上版本的裝置上, 無法在行動裝置上關閉可關閉的通知。 如需更多資訊,請參閱 通知的橋接設定選項。
為通知新增穿戴式裝置特有的功能
如果您需要為通知新增穿戴式裝置專屬功能,例如從穿戴式裝置通知中隱藏應用程式圖示,或是讓使用者透過語音輸入文字回覆,可以使用 NotificationCompat.WearableExtender
類別指定選項。如要使用這個 API,請按照下列步驟操作:
-
建立
WearableExtender
的例項,為通知設定穿戴式裝置專屬選項。 - 依據本指南先前所述,建立
NotificationCompat.Builder
的例項,為通知設定您想要的屬性。 -
在通知上呼叫
extend()
,並傳遞給WearableExtender
。這麼做會為通知套用穿戴式裝置選項。 - 呼叫
build()
以建構通知。
注意:如果您使用架構的 NotificationManager
,則 NotificationCompat.WearableExtender
的部分功能將無法使用,因此請務必使用 NotificationCompat
。
您可以在使用者的不同裝置間同步處理通知的關閉或取消行為。如果想同步處理關閉行為,請使用 setDismissalId()
方法。在每個通知呼叫 setDismissalId()
時,用字串形式傳遞全域專屬 ID。當使用者關閉通知,系統會在手錶和配對手機上,關閉使用同一個關閉 ID 的通知。如果想擷取關閉 ID,請使用 getDismissalId()
。
指定穿戴式裝置專用動作
如想在手錶和手機上提供不同動作,請使用 WearableExtender.addAction()
。使用此方法新增動作後,穿戴式裝置便不會顯示任何透過 NotificationCompat.Builder.addAction()
新增的動作。使用 WearableExtender.addAction()
新增的動作只會顯示在穿戴式裝置上,不會顯示在手機上。