Android 權限旨在保護 Android 使用者的隱私權。當應用程式想存取聯絡人或相片等機密資料的資料類型,以及位置或步數偵測等系統功能時,這類通知會提示使用者。這些權限會在使用者首次下載應用程式時授予。
如果應用程式需要存取這些資料類型的任何資料 (Google Fit 資料類型的子集),請在要求 OAuth 權限前要求相關的 Android 權限。詳情請參閱下文。
![Android 權限同意畫面範例](https://developers.google.cn/static/fit/images/android_permissions.png?authuser=9&hl=zh-tw)
需要 Android 權限的資料類型
如要存取這些體能活動資料類型,您必須要求 ACTIVITY_RECOGNITION
Android 權限:
如要記錄以下資料類型:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.calories.expended
如要讀取這些資料類型:
com.google.step_count.delta
com.google.step_count.cumulative
com.google.step_count.cadence
com.google.activity.segment
com.google.activity.exercise
如要存取這些資料類型,您必須要求 ACCESS_FINE_LOCATION
Android 權限:
- 如要讀取這些資料類型,請按照下列步驟操作:
com.google.distance.delta
com.google.location.sample
com.google.location.bounding_box
com.google.speed
如要記錄這些資料類型,您必須要求 BODY_SENSORS
Android 權限:
com.google.heart_rate.bpm
要求 Android 權限
瞭解如何要求 Android 權限、實體動作辨識權限、精確位置存取權和人體感應器權限。
如要透過 Google Fit API 存取上述資料類型,您必須實作邏輯,針對 Android 10 和舊版 Android 要求 Android 權限要求處理。這些範例使用 ACTIVITY_RECOGNITION
權限。
Android 10
因此,您的應用程式即可指定 API 級別 29 以上版本、要求使用者授予權限,並在應用程式資訊清單檔案中註冊權限。
-
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
-
if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION) != PackageManager.PERMISSION_GRANTED) { // Permission is not granted }
如果使用者尚未授予權限,請提出權限要求:
ActivityCompat.requestPermissions(thisActivity, arrayOf(Manifest.permission.ACTIVITY_RECOGNITION), MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
Android 9 以下版本
因此應用程式可指定 API 級別 28 以下版本:
要求
com.google.android.gms.permission.ACTIVITY_RECOGNITION
權限。-
<uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>