Android の権限は、Android ユーザーのプライバシーを保護することを目的としています。アプリが連絡先や写真などのセンシティブ データや、位置情報や歩数検出などのシステム機能のデータタイプにアクセスしようとすると、ユーザーに確認を求めます。ユーザーはアプリを初めてダウンロードする際にこれらの権限を付与します。
アプリがこれらのデータ型(Google Fit のデータ型のサブセット)のいずれかにアクセスする必要がある場合は、OAuth 権限をリクエストする前に、関連する Android 権限をリクエストします。以下を参照してください。
Android の権限が必要なデータ型
これらの身体活動データ型にアクセスするには、ACTIVITY_RECOGNITION Android 権限をリクエストする必要があります。
これらのデータ型を記録するには:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.calories.expended
これらのデータ型を読み取るには:
com.google.step_count.deltacom.google.step_count.cumulativecom.google.step_count.cadencecom.google.activity.segmentcom.google.activity.exercise
これらのデータ型にアクセスするには、ACCESS_FINE_LOCATION Android 権限をリクエストする必要があります。
- これらのデータ型を読み取るには:
com.google.distance.deltacom.google.location.samplecom.google.location.bounding_boxcom.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"/>