สิทธิ์ของ Android มีจุดประสงค์เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ Android โดยจะแจ้งผู้ใช้เมื่อแอปต้องการเข้าถึงประเภทข้อมูลที่ละเอียดอ่อน เช่น รายชื่อติดต่อหรือรูปภาพ รวมถึงฟีเจอร์ต่างๆ ของระบบ เช่น การตรวจหาตำแหน่งหรือจำนวนก้าว ผู้ใช้จะให้สิทธิ์เหล่านี้ เมื่อดาวน์โหลดแอปของคุณเป็นครั้งแรก
หากแอปจำเป็นต้องเข้าถึงประเภทข้อมูลเหล่านี้ (กลุ่มย่อยของประเภทข้อมูล Google Fit) ให้ขอสิทธิ์ Android ที่เกี่ยวข้องก่อนขอสิทธิ์ OAuth ดูด้านล่าง
![ตัวอย่างหน้าจอขอความยินยอมสำหรับสิทธิ์ของ Android](https://developers.google.cn/static/fit/images/android_permissions.png?authuser=6&hl=th)
ประเภทข้อมูลที่ต้องใช้สิทธิ์ของ 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, สิทธิ์การจดจำกิจกรรมทางกายภาพ, สิทธิ์เข้าถึงตำแหน่งอย่างละเอียด และสิทธิ์เซ็นเซอร์ร่างกาย
หากต้องการเข้าถึงข้อมูลประเภทข้างต้นด้วย API ของ Google Fit คุณจะต้องใช้ลอจิกเพื่อจัดการการขอสิทธิ์ Android สำหรับทั้ง Android 10 และ Android เวอร์ชันก่อนหน้า ตัวอย่างเหล่านี้ใช้สิทธิ์ ACTIVITY_RECOGNITION
Android 10
เพื่อให้แอปกำหนดเป้าหมายเป็น API ระดับ 29 ขึ้นไป ขอสิทธิ์จากผู้ใช้ และลงทะเบียนสิทธิ์ในไฟล์ Manifest ของแอปพลิเคชันได้
-
<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"/>