Wear OS 5 開發人員預覽版以 Android 14 (API 級別 34) 為建構基礎,相較於 Wear OS 4 採用的 Android 13 (Android 13 或 API 級別 33),中間歷經較新的版本。因此,如果您打算在 Wear OS 5 開發人員預覽版上使用 Wear OS 應用程式,就需要處理影響 Android 14 所有應用程式的行為變更,以及以 Android 14 為目標版本的應用程式變更。
Wear OS 5 的變更影響所有應用程式
以下行為變更會影響 Wear OS 專用的用途和程式庫。無論目標 SDK 版本為何,這些變更都會影響在 Wear OS 5 上執行的所有應用程式。
隱私資訊主頁
Wear OS 5 開發人員預覽版最初是在 Android 12 的行動裝置上推出隱私資訊主頁支援。
隱私資訊主頁可讓使用者集中查看各個應用程式的數據用量,包括下列詳細資料:
- 存取的資料類型,例如位置和麥克風。
- 上次存取這些資料類型的時間。
藉由存取這類資訊,使用者可以做出更明智的決定,瞭解哪些應用程式仍能存取他們的個人資料。為了維持使用者的信任,在收集和使用使用者資料時,請以負責任的態度使用資料,並保持透明公開。
大部分的小工具資料來源都需要使用錶面格式
在即將推出的 Wear OS 版本 (包括 Wear OS 5 開發人員預覽版) 中,錶面必須使用錶面格式才能支援包含使用者資料的小工具。建議您更新錶面來採用錶面格式。進一步瞭解這些小工具相關異動。
暫時停用測試用變更
這項功能預設為啟用。如要停用與此變更相對應的功能旗標,用於測試,請使用下列指令:
adb shell device_config put wear_services \
com.google.wear.services.infra.flags.restrict_complications_flag false && \
adb reboot
Wear OS 5 變更會影響指定 Android 14 的應用程式
只有將目標 SDK 版本更新至 Android 14 (即 Wear OS 5 開發人員預覽的採用版本) 時,您的應用程式會受到以下變更影響。
一律開啟的應用程式可以移至背景
從 Wear OS 5 開發人員預覽版開始,如果持續執行的應用程式在微光模式下顯示一段時間,系統就會將其移至背景。使用者可以在系統設定中調整逾時設定。
如果持續待機應用程式顯示進行中使用者工作的相關資訊 (例如音樂播放或健身時段),建議您在工作結束之前持續顯示持續性活動。如要這麼做,請使用 Ongoing Activity API 張貼與持續待機活動連結的持續性通知。
為讓系統識別持續性活動,持續性通知的觸控意圖必須指向持續待機活動,如以下程式碼片段所示:
// Create a pending intent that point to your always-on activity
val touchIntent =
PendingIntent.getActivity(
context,
0,
Intent(context, MyAlwaysOnActivity::class.java),
PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
)
val notificationBuilder =
NotificationCompat.Builder(this, CHANNEL_ID)
// ...
.setOngoing(true)
val ongoingActivity =
OngoingActivity.Builder(
applicationContext, NOTIFICATION_ID, notificationBuilder
)
// ...
.setTouchIntent(touchIntent)
.build()
ongoingActivity.apply(applicationContext)
notificationManager.notify(
NOTIFICATION_ID,
notificationBuilder.build()
)
暫時停用測試用變更
這項功能預設為啟用。如要停用與此變更相對應的功能旗標,用於測試,請使用下列指令:
adb shell device_config put wear_frameworks \
com.google.android.clockwork.systemui.flags.ambiactive_components_expirable \
false && adb reboot
運動錄影應用程式必須宣告前景服務類型
如果應用程式會在使用者的健身工作階段中記錄運動,您必須在叫用 ExerciseClient
的前景服務中指定 health
前景服務類型。此外,如果應用程式可在健身工作階段中監控位置資訊,您還必須指定 location
前景服務類型:
<manifest ...> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <application ...> <!-- If your app can also monitor location information, use android:foregroundServiceType="health|location" instead. --> <service android:name=".MyExerciseSessionRecorder" android:foregroundServiceType="health"> </service> </application> </manifest>
某些腕上裝置可保持解鎖狀態的時間
在搭載 Wear OS 5 開發人員預覽版的支援裝置上,系統會偵測使用者是否將裝置佩戴在手腕上。如果使用者關閉手腕偵測功能,然後將裝置從手腕取下,系統會讓裝置解鎖時間比其他裝置更長。
如果應用程式需要更高的安全性層級 (例如顯示可能具敏感性的或私人資料時),請先檢查手腕偵測功能是否已啟用:
val wristDetectionEnabled =
isWristDetectionAutoLockingEnabled(applicationContext)
如果此方法的傳回值為 false
,請在顯示使用者特定內容之前,提示使用者在應用程式中登入帳戶。
可拖曳的內容可能會重疊到系統手勢的啟動點
從 Wear OS 5 開發人員預覽版開始,系統會分開處理動作事件手勢,與系統 UI 中使用的手勢操作分開處理。
如果應用程式的 UI 包含與系統手勢區域重疊的大型可拖曳空間,您可能需要為這些檢視畫面新增系統手勢排除矩形。方法是呼叫 setSystemGestureExclusionRects()
,指示系統 UI 忽略特定區域的導覽手勢。這類似於行動應用程式中處理相衝突的應用程式手勢,以提供無邊框 UI 體驗。
您可以使用 setSystemGestureExclusionRects()
API,讓系統 UI 以不同方式回應手勢要求。舉例來說,系統 UI 可能會顯示其他 UI 提示 (例如水平列),藉此確認使用者的意圖。
非線性字型縮放
從 Wear OS 5 開發人員預覽版開始,此系統支援更流暢的字型縮放功能,尤其是在使用者選擇較大字型大小時,在以檢視區塊為基礎的 UI 元件中。
隱含和待處理意圖的限制
如果您在應用程式中使用資訊方塊,請檢查意圖是否受隱含和待處理意圖的限制影響。
但仍無法關閉部分通知
在搭載 Android 14 (API 級別 34) 以上版本的裝置上使用應用程式的手持版本時,使用者可以關閉通知,在舊版中無法關閉。
不過,在 Wear OS 5 開發人員預覽版中,您仍無法關閉這類通知。
Android 14 的其他變更
以下 Android 14 變更最有可能對 Wear OS 應用程式造成影響。
影響所有應用程式的 Android 14 變更
Android 14 變更會影響目標 API 級別 34 的應用程式
- 必須提供前景服務類型
- 在「
BluetoothAdapter
」中強制執行「BLUETOOTH_CONNECT
」權限 JobScheduler
強化回呼和網路行為- 已註冊執行階段的廣播接收器必須明確匯出或未匯出
- 更安全的動態程式碼載入
- 從背景啟動活動的額外限制
- 使用者可以授予相片和影片的部分存取權
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- Android 10 的隱私權異動
- 連線至 GATT 伺服器 {:#connect}
- 在背景進行通訊