Android 13 和 Wear OS 4 引進了一種方式,讓應用程式存取人體感應器,例如: 從背景分析心率這種全新的存取模式 在 Android 10 (API 級別 29) 中推出背景位置資訊存取權。
如果您的應用程式需要在背景存取人體感應器資訊,例如
在背景監控健康照護服務資料,您必須要求
BODY_SENSORS_BACKGROUND
權限。
如「隱私權最佳做法」所述,應用程式只能要求使用者提供
BODY_SENSORS_BACKGROUND
權限 (若對面向使用者至關重要)
功能,且應向使用者適當揭露這項資訊。
授予權限的程序視應用程式的目標 SDK 而定 版本。
應用程式指定 Android 13 以上版本
除了現有的 BODY_SENSORS
權限以外,請宣告
BODY_SENSORS_BACKGROUND
權限:
<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">
接著,應用程式必須分多次作業要求權限:
- 檢查使用者是否已授予
BODY_SENSORS
。如果沒有,請提出權限要求。 - 檢查使用者是否已授予
BODY_SENSORS_BACKGROUND
。如果沒有,請提出 權限。
注意:如果您的應用程式會在 同時,系統會忽略要求,也不會授予您的應用程式 權限。
在 Android 13 (API 級別 33) 以上版本中,執行階段權限對話方塊並未
請納入「一律允許」如果有需要 SQL 指令的分析工作負載
則 BigQuery 可能是最佳選擇相反地,使用者必須啟用「一律允許」
背景感應器存取權,如圖 1 所示。當您
授予 BODY_SENSORS_BACKGROUND
權限後,即可要求
BODY_SENSORS
權限,即可協助使用者前往這個設定頁面。如果
使用者拒絕「一律允許」權限,應該能繼續使用
應用程式。
應用程式指定較舊版本
應用程式指定的 Android 版本低於 Android 13 時,背景為背景
您要求BODY_SENSORS
時,系統不會自動授予存取權
權限。相反地,使用者會看到系統對話方塊,邀請使用者前往
應用程式感應器權限設定,如圖 2 所示。接著,使用者必須
您可以在該設定頁面啟用背景感應器。
當然,使用者可以拒絕背景存取權,效果等同於撤銷
BODY_SENSORS
權限。如果
應用程式在沒有背景存取權的情況下正在使用「PassiveMonitoringClient
」
進入背景時,應用程式會失去 BODY_SENSORS
權限,且
系統會呼叫 onPermissionLost()
回呼。基於上述原因
尤其重要的是,請務必遵循要求執行階段的最佳做法
授予其要求的權限。