Android の権限

Android の権限は、Android ユーザーのプライバシーを保護することを目的としています。アプリが連絡先や写真などの機密データや、位置情報や歩数検出などのシステム機能のデータ型にアクセスしようとすると、ユーザーにプロンプトが表示されます。ユーザーはアプリを初めてダウンロードするときにこれらの権限を付与します。

アプリがこれらのデータ型のいずれかにアクセスする必要がある場合 (Google Fit のデータタイプのサブセット)を使用するには、 OAuth 権限をリクエストする前に Android の権限をリクエストする必要があります。 以下を参照

Android の権限の同意画面の例
図 1. 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 以降をターゲットに設定し、ユーザーに権限をリクエストし、アプリケーション マニフェスト ファイルに権限を登録できます。

  1. マニフェスト ファイルに権限を追加します

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. 権限が付与されているかどうかを確認する:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. 権限がまだ付与されていない場合は、権限をリクエストします。

    ActivityCompat.requestPermissions(thisActivity,
                arrayOf(Manifest.permission.ACTIVITY_RECOGNITION),
                MY_PERMISSIONS_REQUEST_ACTIVITY_RECOGNITION)
    

Android 9 以下

したがって、アプリは API レベル 28 以下を対象にできます。

  1. com.google.android.gms.permission.ACTIVITY_RECOGNITION 権限をリクエストします。

  2. マニフェスト ファイルに権限を追加します

    <uses-permission android:name="android.gms.permission.ACTIVITY_RECOGNITION"/>