Android 11 支援依優先順序和提醒層級,自訂通知專區中對話通知的行為和位置,讓對話標示為重要,並在對話空間中啟動對話專屬對話框。
Android 12 延續了這些 Android 11 功能,並提供兩項全新的對話功能:
使用者可以在「設定」中透過「近期對話」功能,自訂近期對話的通知行為,不必等待通知。
對話小工具功能可讓使用者在主畫面上輕鬆開啟即時通訊,快速查看最近的對話。
本文說明對話通知和對話小工具的實作、自訂和驗證方式。
對話通知總覽
Android 11 導入新的系統基本類型「對話」,並以現有的分享捷徑物件 (已在 Android 9 中推出) 表示。
Conversations 原始型別的用途如下:
透過分享功能表 (Android 10 已提供),在系統中跨應用程式分享「對話」資料。
在通知面板頂端參與新的「對話」空間 (Android 11 中實作)。請參閱圖 2。
用於建立對話小工具 (在 Android 12 中實作)。
圖 1:透過通知匣以對話框形式啟動的通知
圖 2:位於通知欄頂端的對話空間
除了連結至代表對話的捷徑,通知也會使用 MessagingStyle,在對話空間中加入對話的最後一則訊息。
GMS 合作夥伴必須實作下列項目:
- 在通知面板頂端新增「對話」專區。
- 通知樣式,可允許並支援對話專用對話框模式。
實作對話功能的合作夥伴也必須實作重要對話功能。不過,實作對話功能時,可以參考 OEM 類似性質的概念。整體而言,合作夥伴可自由調整對話部分,使其與特定系統 UI 保持一致。合作夥伴不必修改或導入 HAL/驅動程式/核心程式碼/擴充功能。
請參閱 AOSP 中 SystemUI 和 PeopleService 區段的下列參考實作:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
驗證
為確保功能版本正常運作,請確認下列事項:
完全支援 Conversation API 的應用程式會在新的專區中顯示通知,並可依對話自訂通知,而非依一般 NotificationChannel 自訂。
對話專屬對話框功能正常運作。
如要驗證實作項目,請在通知套件中使用下列測試:
CTS 測試。
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
CTS 驗證器測試。
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
對話小工具總覽
在 Android 12 中,對話小工具功能允許應用程式提供對話狀態,進一步強化 Android 11 建立的對話表示法 (如上一節所述)。
圖 3:顯示在對話小工具中的對話
Android 12 的對話小工具功能可讓使用者在主畫面上輕鬆開啟即時通訊,藉此促進連結。這些小工具是進階版捷徑,可讓使用者快速回到對話,並顯示對話狀態的文字片段。
合作夥伴必須實作下列項目:
- SystemUI 提供的小工具。
- 從選擇小工具的畫面新增這些小工具的流程。
- 支援的小工具大小調整方式如下:
- 當使用者變更版面配置大小或旋轉為橫向時,請使用
onAppWidgetOptionsChanged()
將版面配置變更為更合適的大小。 - 使用
maxResizeHeight
、maxResizeWidth
、minWidth
、minHeight
、minResizeWidth
、minResizeHeight
正確限制小工具大小變化。
- 當使用者變更版面配置大小或旋轉為橫向時,請使用
導入對話小工具時,請注意下列依附元件:
- 合作夥伴不必修改或導入 HAL/驅動程式/核心程式碼。
- 實作時會使用 Status API,讓應用程式在對話和相關小工具中新增狀態或供應情形資訊。
- 無論是實作新裝置或升級,程序都相同。
- 對話小工具功能依附於 Android 12 中推出的新功能,可快取最近的對話 (例如來自通知)。這項功能可擴充使用者可能加到主畫面的對話清單。
請參閱 SystemUI 和 Launcher3 檔案中的下列參考實作:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
自訂
對話小工具功能無法開啟或關閉,但只要符合 GMS 規定,合作夥伴就能變更小工具範本的版面配置。
驗證
為確保功能版本正常運作,請確認下列事項:
長按啟動器後,即可透過小工具挑選器新增對話的對話小工具。小工具挑選器 UI 如圖 4 所示:
圖 4:用於新增對話小工具的小工具挑選器 UI
從所選對話將通知傳送至裝置時,小工具會更新以反映這些通知。
使用
ConversationStatus
API 將狀態套用至該對話後,小工具就會反映這些狀態。使用者可以調整小工具大小,小工具也會根據目前的啟動器變更大小。小工具版面配置必須能配合不同裝置上的不同啟動器大小,以及小工具大小調整作業。
如要驗證實作項目,請在通知套件中使用下列測試:
API 介面的 CTS 測試 (PeopleManagerTest)。
cts/tests/app/src/android/app/cts/NotificationManagerTest.java
Google 行動服務需求的手動測試 - 對話。