為您的應用程式做好準備,以因應 Wear OS 4 的行為變更

Wear OS 4 以 Android 13 (API 級別 33) 為建構基礎,相較於 Wear OS 3 採用的 Android 11 (API 級別 30),中間歷經了數版更新。因此,如果您打算讓 Wear OS 應用程式用於 Wear OS 4,就需要處理已在所有 Android 12Android 13 應用程式上生效的系統行為變更。

只要指定 Android 13 (API 級別 33) 為目標,即可進一步提升應用程式與這個 Wear OS 版本的相容性。

權限變更

如果是搭載 Wear OS 4 的裝置,將最有可能受到以下權限相關變更影響。

通知權限

「Allow」選項是對話方塊中的第一個按鈕
圖 1. 系統權限對話方塊,要求使用者允許 Wear OS 應用程式發布通知。使用者可以選擇「Allow」或「Don't allow」

在大多數情況下,使用者必須為應用程式授予通知執行階段權限,對於會發布持續性活動通知的應用程式也不例外。

注意: 通知權限不適用於橋接通知幾個符合豁免條件的特定用途 (例如與媒體工作階段相關的用途)。

如果使用者在搭載 Wear OS 4 的裝置上安裝應用程式,應用程式的通知功能會預設為關閉。在您發布本機通知或啟動持續性活動之前,請先呼叫 areNotificationsEnabled(),檢查應用程式是否獲準發布通知。假使這個方法傳回 true,就表示應用程式可以顯示通知。但若應用程式未具備適當權限,這些通知會失敗,而且不會擲回任何執行階段例外狀況。

您在應用程式中要求 POST_NOTIFICATIONS 權限時,使用者會看到圖 1 所示的系統權限對話方塊。

背景人體感應器權限

在搭載 Wear OS 4 的裝置上,使用者必須授予應用程式權限,應用程式才能在背景中透過常見的人體感應器取得心率等資訊。

請參閱這份指南,進一步瞭解如何要求人體感應器資料的背景存取權。

概略位置存取權

在搭載 Wear OS 4 的裝置上,即使應用程式要求取得 ACCESS_FINE_LOCATION 執行階段權限,使用者仍可以要求應用程式僅擷取大概位置資訊。

您須確保當使用者僅授予大概位置權限時,應用程式仍可用於主要用途,例如顯示跑步路徑。尤其是在 Wear OS 上使用健康照護服務時,請將位置錯誤納入考量。

如要進一步瞭解使用者如何只授予大概位置資訊,請參閱這篇文章

應用程式元件和導覽變更

以下列出與應用程式元件和導覽相關的變更,最有可能對搭載 Wear OS 4 裝置上的 Wear OS 應用程式造成影響。

意圖篩選器封鎖不符的意圖

當應用程式將意圖傳送至另一個應用程式 (指定 Android 13 以上版本為目標) 的匯出元件時,只有在該意圖與接收應用程式中的 <intent-filter> 元素相符時,系統才會傳送意圖。

如要瞭解如何將意圖與其他應用程式的意圖篩選器配對,請參閱這篇文章

根啟動器活動行為

如果起動器活動宣告了包含 ACTION_MAINCATEGORY_LAUNCHER 的意圖篩選器,就代表該活動位於任務的「根層級」。

如果使用者從這類啟動器活動前往上一個畫面,則系統不會完成啟動器活動。而是會將該活動置於背景。

歡迎進一步瞭解這項關於根啟動器活動和活動生命週期的變更。

系統會對 Android 應用程式連結的驗證方式做出幾項變更,特別是,系統會強制執行更嚴格的意圖篩選器語法,表明特定網域的網址應直接在應用程式中開啟內容。這些變更可提供更穩定的應用程式連結體驗,讓應用程式開發人員和使用者手上有更多掌控權。

如要測試宣告的可靠性,請手動叫用網域驗證

移除系統快訊視窗 UI

Wear OS 4 會移除授予 SYSTEM_ALERT_WINDOW 權限的系統 UI。此 UI 僅適用於部分搭載 Wear OS 3 以下版本的裝置。

如果您使用 ACTION_MANAGE_OVERLAY_PERMISSION 將使用者導向設定頁面,讓他們可以在其他應用程式上方顯示您的應用程式,那麼請更新您的應用程式邏輯。例如,假設您仰賴系統快訊視窗來顯示重要訊息,請改用通知

電源和資料管理變更

以下列出與電源和資料管理相關的變更。如果是在搭載 Wear OS 4 的裝置上,將最有可能對 Wear OS 應用程式造成影響。

受限制的應用程式待命值區

如果應用程式已長時間未使用,或叫用廣播和繫結的次數過多,系統就會將其排入「受限制」的應用程式待命值區

應用程式休眠

如果使用者已連續幾個月未與應用程式互動,系統便會把應用程式設為「休眠」狀態。

備份與還原

自 Wear OS 4 起,只要特定 Wear OS 裝置支援雲端備份功能,使用者就能將資料備份至雲端,這樣不僅能從該裝置轉出資料,也可以將資料從雲端還原並轉移至新 Wear OS 裝置。