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"/>