-
將回復另存爲草稿:當用戶無意中關閉一個短信通知時,您的應用可以檢索系統發送的
EXTRA_REMOTE_INPUT_DRAFT
。 您可以使用此 extra 預填充應用中的文本字段,以便用戶可以完成他們的回覆。 -
確定對話是否爲羣組對話。您可以使用
setGroupConversation()
以明確確定對話是否爲羣組對話。 -
爲 Intent 設置語義操作:
setSemanticAction()
函數允許您爲操作提供語義含義,如“標記爲已讀”、“刪除”和“回覆”等。 -
SmartReply:Android 9 支持在您的短信應用中提供相同的建議回覆。 使用
RemoteInput.setChoices()
爲用戶提供一組標準回覆。
Android 9 引入了多個通知增強功能,可供以 API 級別 28 及以上版本作爲目標平臺的開發者使用。
提升短信體驗
從 Android 7.0(API 級別 24)開始,您可以添加一個操作以回覆短信或直接從通知中輸入其他文本。 Android 9 通過下列增強提升了該功能:
-
簡化了針對對話參與者的支持:
Person
類可用於識別參與對話的人員,包括他們的頭像和 URI。 現在,許多其他 API(如addMessage()
)均可利用 [Person
] 類而不是CharSequence
。Person
類也支持構建器設計模式。 -
支持圖像:現在,Android 9 可在手機的“短信通知”中顯示圖像。 您可以使用對短信使用
setData()
來顯示圖像。 以下代碼段演示瞭如何創建Person
和包含圖像的短信。 -
// Create new Person. Person sender = new Person() .setName(name) .setUri(uri) .setIcon(null) .build(); // Create image message. Message message = new Message("Picture", time, sender) .setData("image/", imageUri); Notification.MessagingStyle style = new Notification.MessagingStyle(getUser()) .addMessage("Check this out!", 0, sender) .addMessage(message);
-
將回復另存爲草稿:當用戶無意中關閉一個短信通知時,您的應用可以檢索系統發送的
EXTRA_REMOTE_INPUT_DRAFT
。 您可以使用此 extra 預填充應用中的文本字段,以便用戶可以完成他們的回覆。 -
確定對話是否爲羣組對話。您可以使用
setGroupConversation()
以明確確定對話是否爲羣組對話。 -
爲 Intent 設置語義操作:
setSemanticAction()
函數允許您爲操作提供語義含義,如“標記爲已讀”、“刪除”和“回覆”等。 -
SmartReply:Android 9 支持在您的短信應用中提供相同的建議回覆。 使用
RemoteInput.setChoices()
爲用戶提供一組標準回覆。
渠道設置、廣播和請勿打擾
Android 8.0 引入了通知渠道,允許您爲要顯示的每種通知類型創建可由用戶自定義的渠道。 Android 9 通過下列變更簡化通知渠道設置:
-
屏蔽渠道組:現在,用戶可以針對某個應用在通知設置中屏蔽整個渠道組。 您可以使用
isBlocked()
函數確定何時屏蔽一個渠道組,從而不會向該組中的渠道發送任何通知。此外,您的應用可以使用全新的
getNotificationChannelGroup()
函數查詢當前渠道組設置。 -
全新的廣播 Intent 類型:現在,當通知渠道和渠道組的屏蔽狀態發生變更時,Android 系統將發送廣播 Intent。 擁有已屏蔽的渠道或渠道組的應用可以偵聽這些 Intent 並做出相應的迴應。 有關這些 Intent 操作和 extra 的更多信息,請參閱
NotificationManager
參考中更新的常量列表。 有關響應廣播 Intent 的信息,請參閱廣播。 -
NotificationManager.Policy
有 3 種新的“請勿打擾”優先級類別:PRIORITY_CATEGORY_ALARMS
優先處理警報。PRIORITY_CATEGORY_MEDIA
優先處理媒體源的聲音,如媒體和語音導航。PRIORITY_CATEGORY_SYSTEM
優先處理系統聲音。
-
NotificationManager.Policy
還有 7 種新的“請勿打擾”常量,可以用來抑制視覺中斷:SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
防止通知啓動全屏 Activity。SUPPRESSED_EFFECT_LIGHTS
屏蔽通知燈。SUPPRESSED_EFFECT_PEEK
防止通知短暫進入視圖(“滑出”)。SUPPRESSED_EFFECT_STATUS_BAR
防止通知顯示在支持狀態欄的設備的狀態欄中。SUPPRESSED_EFFECT_BADGE
在支持標誌的設備上屏蔽標誌。 如需瞭解詳細信息,請參閱修改通知標誌。SUPPRESSED_EFFECT_AMBIENT
在支持微光顯示的設備上屏蔽通知。SUPPRESSED_EFFECT_NOTIFICATION_LIST
防止通知顯示在支持列表視圖(如通知欄或鎖屏)的設備的列表視圖中。