Izin Android

Izin Android bertujuan untuk melindungi privasi pengguna Android. Fitur ini meminta pengguna saat aplikasi ingin mengakses jenis data untuk data sensitif seperti kontak atau foto, dan fitur sistem seperti deteksi lokasi atau langkah. Pengguna memberikan izin ini saat pertama kali mendownload aplikasi Anda.

Jika aplikasi Anda memerlukan akses ke salah satu jenis data ini (subkumpulan jenis data Google Fit), minta izin Android yang relevan sebelum meminta izin OAuth. Lihat di bawah.

Contoh layar izin izin Android
Gambar 1. Layar izin izin Android.

Jenis data yang memerlukan izin Android

Untuk mengakses jenis data aktivitas fisik ini, Anda harus meminta izin Android ACTIVITY_RECOGNITION:

  • Untuk merekam jenis data ini:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.calories.expended
  • Untuk membaca jenis data ini:

    • com.google.step_count.delta
    • com.google.step_count.cumulative
    • com.google.step_count.cadence
    • com.google.activity.segment
    • com.google.activity.exercise

Untuk mengakses jenis data ini, Anda harus meminta izin Android ACCESS_FINE_LOCATION:

  • Untuk membaca jenis data ini:
    • com.google.distance.delta
    • com.google.location.sample
    • com.google.location.bounding_box
    • com.google.speed

Untuk merekam jenis data ini, Anda harus meminta izin Android BODY_SENSORS:

  • com.google.heart_rate.bpm

Meminta izin Android

Pelajari cara meminta izin Android, izin pengenalan aktivitas fisik, izin akses lokasi, dan izin sensor tubuh.

Untuk mengakses jenis data di atas dengan Google Fit API, Anda harus mengimplementasikan logika guna menangani permintaan izin Android untuk Android 10 dan Android versi sebelumnya. Contoh ini menggunakan izin ACTIVITY_RECOGNITION.

Android 10

Jadi, aplikasi Anda dapat menargetkan API level 29 atau yang lebih tinggi, meminta izin dari pengguna, dan mendaftarkan izin tersebut dalam file manifes aplikasi.

  1. Tambahkan izin ke file manifes.

    <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
    
  2. Periksa apakah izin diberikan:

    if (ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.ACTIVITY_RECOGNITION)
              != PackageManager.PERMISSION_GRANTED) {
          // Permission is not granted
    }
    
  3. Jika izin belum diberikan, minta izin:

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

Android 9 dan yang lebih lama

Jadi, aplikasi Anda dapat menargetkan API level 28 atau yang lebih rendah:

  1. Minta izin com.google.android.gms.permission.ACTIVITY_RECOGNITION.

  2. Tambahkan izin ke file manifes.

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