更新應用程式、為 Wear OS 4 做好準備後,您可以指定 Android 13 (API 級別 33),進一步提高應用程式與這個 Wear OS 版本的相容性。
如果您更新了目標 SDK 版本,請分別針對指定 Android 12 以上版本及指定 Android 13 以上版本的應用程式,處理系統行為變更。請特別考量本指南稍後會說明的權限變更,以及應用程式元件和導覽行為變更。
更新建構檔案
如要更新目標 SDK 版本,請開啟模組層級的 build.gradle
或 build.gradle.kts
檔案,然後更新為 Android 13 的值。
建構檔案中值的格式,取決於您使用的 Android Gradle 外掛程式 (AGP) 版本。
AGP 7.0.0 以上版本
如果您使用 AGP 7.0.0 以上版本,請將應用程式的 build.gradle
或 build.gradle.kts
檔案更新為下列 Android 13 的值:
Groovy
android { compileSdk 33 ... defaultConfig { targetSdk 33 } }
Kotlin
android { compileSdk = 33 ... defaultConfig { targetSdk = 33 } }
AGP 4.2.0 以下版本
如果您使用 AGP 4.2.0 以下版本,請將應用程式的 build.gradle
或 build.gradle.kts
檔案更新為下列 Android 13 的值:
Groovy
android { compileSdkVersion "33" ... defaultConfig { targetSdkVersion "33" } }
Kotlin
android { compileSdkVersion = "33" ... defaultConfig { targetSdkVersion = "33" } }
權限變更
本節列出在應用程式指定 Android 13 後,會對應用程式造成影響的幾項權限變更。
背景人體感應器權限
如要取得常見的人體感應器資訊 (例如心率),請在背景要求 BODY_SENSORS_BACKGROUND
權限。
詳情請參閱「要求人體感應器資料背景存取權」指南。
精確鬧鐘權限
如要使用精確計時鬧鐘 (也稱為「精確鬧鐘」),您必須宣告 USE_EXACT_ALARM
或 SCHEDULE_EXACT_ALARM
權限。
除非應用程式的核心功能必須採用精確鬧鐘,例如鬧鐘應用程式或日曆應用程式,否則請改用不精確鬧鐘。大多數應用程式都可使用非精確鬧鐘排定工作和活動時間。
進一步瞭解如何設定精確鬧鐘。
精細媒體權限
如果應用程式需要存取其他應用程式建立的媒體檔案,您必須要求開頭為 READ_MEDIA_*
的精細媒體權限,而非 READ_EXTERNAL_STORAGE
權限。如果應用程式先前已取得 READ_EXTERNAL_STORAGE
權限,則系統會自動授予所需的精細媒體權限。
進一步瞭解精細媒體權限。
應用程式元件和導覽變更
本節列出在應用程式指定 Android 13 後,會對應用程式造成影響的幾項元件和導覽行為變更。
應用程式元件匯出規定
如果應用程式包含使用意圖篩選器的活動、服務或廣播接收器,您必須為這些應用程式元件明確宣告 android:exported
屬性。
進一步瞭解更安全的元件匯出功能。
指定待處理意圖的可變動性
您必須指定應用程式中的每個 PendingIntent
物件是否可變動。在大多數情況下,請使用不可變動的 PendingIntent
物件,保護意圖內資料的完整性。
進一步瞭解如何指定待處理意圖的可變動性。
前景服務啟動限制
在大多數情況下,應用程式在背景執行時就無法啟動前景服務。
進一步瞭解從背景啟動前景服務的限制。
通知彈跳床限制
使用者與通知互動後,您就無法在服務或廣播接收器中呼叫 startActivity()
。這種插頁式應用程式元件只具備啟動活動的功能,稱為「通知彈跳床」。
進一步瞭解通知彈跳床限制。
為您推薦
- 注意:系統會在 JavaScript 關閉時顯示連結文字
- 針對 Wear OS 5 更新應用程式的目標 SDK 版本
- 行為變更:指定 Android 12 為目標的應用程式
- 設定鬧鐘