Android の権限は、Android ユーザーのプライバシーを保護することを目的としています。アプリが連絡先や写真などの機密データや、位置情報や歩数検出などのシステム機能のデータ型にアクセスしようとすると、ユーザーにプロンプトが表示されます。ユーザーはアプリを初めてダウンロードするときにこれらの権限を付与します。
アプリがこれらのデータ型のいずれかにアクセスする必要がある場合 (Google Fit のデータタイプのサブセット)を使用するには、 OAuth 権限をリクエストする前に Android の権限をリクエストする必要があります。 以下を参照。
 
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 権限をリクエストする必要があります。
- これらのデータ型を読み取るには:
<ph type="x-smartling-placeholder">- </ph>
- 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 の権限のリクエスト、 身体活動認識権限、 精密な位置情報の利用許可、ボディセンサーの権限の 2 つがあります。
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"/>
