Android 권한

Android 권한은 Android 사용자의 개인 정보를 보호하기 위한 것입니다. 연락처나 사진 같은 민감한 정보의 데이터 유형과 위치나 걸음 수 감지와 같은 시스템 기능에 액세스하려고 할 때 사용자에게 메시지가 표시됩니다. 사용자가 앱을 처음 다운로드할 때 이러한 권한을 부여합니다.

앱에서 이러한 데이터 유형(Google 피트니스 데이터 유형의 일부)에 액세스해야 하는 경우 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 권한을 요청해야 합니다.

  • 이러한 데이터 유형을 읽으려면 다음 안내를 따르세요.
    • 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 피트니스 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"/>