สิทธิ์ของ Android มีไว้เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ Android โดยจะแจ้งให้ผู้ใช้ทราบเมื่อแอปต้องการเข้าถึงประเภทข้อมูลสําหรับข้อมูลที่ละเอียดอ่อน เช่น รายชื่อติดต่อหรือรูปภาพ และฟีเจอร์ของระบบ เช่น การตรวจหาตําแหน่งหรือขั้นตอน ผู้ใช้ให้สิทธิ์เหล่านี้เมื่อดาวน์โหลดแอปของคุณเป็นครั้งแรก
หากแอปต้องการเข้าถึงประเภทข้อมูลเหล่านี้ (ชุดย่อยของประเภทข้อมูล Google Fit บางส่วน) ให้ขอสิทธิ์ Android ที่เกี่ยวข้องก่อนที่จะขอสิทธิ์ OAuth ดูด้านล่าง
ประเภทข้อมูลที่ต้องใช้สิทธิ์ของ 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 Fit API คุณต้องใช้ตรรกะเพื่อจัดการการขอสิทธิ์ของ 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"/>