สิทธิ์ของ Android

สิทธิ์ของ Android มีไว้เพื่อปกป้องความเป็นส่วนตัวของผู้ใช้ Android ข้อความแจ้ง ผู้ใช้เมื่อแอปต้องการเข้าถึงประเภทข้อมูลที่ละเอียดอ่อน เช่น รายชื่อติดต่อหรือรูปภาพ และ ฟีเจอร์ของระบบ เช่น การตรวจหาตำแหน่งหรือจำนวนก้าว ผู้ใช้ให้สิทธิ์เหล่านี้ เมื่อดาวน์โหลดแอปของคุณเป็นครั้งแรก

หากแอปของคุณต้องการเข้าถึงประเภทข้อมูลเหล่านี้ (ชุดย่อยของประเภทข้อมูล Google Fit) ให้ขอข้อมูลที่เกี่ยวข้อง สิทธิ์ Android ก่อนขอสิทธิ์ OAuth ดูด้านล่าง

วันที่ ตัวอย่างหน้าจอขอความยินยอมเกี่ยวกับสิทธิ์ของ 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 Fit API คุณจะต้อง ใช้ตรรกะในการจัดการการขอสิทธิ์ Android สำหรับทั้ง Android 10 และ Android เวอร์ชันก่อนหน้า ตัวอย่างเหล่านี้ใช้สิทธิ์ ACTIVITY_RECOGNITION

Android 10

เพื่อให้แอปกำหนดเป้าหมายเป็น API ระดับ 29 ขึ้นไป โปรดขอสิทธิ์จาก ผู้ใช้ และลงทะเบียนสิทธิ์ในไฟล์ Manifest ของแอปพลิเคชัน

  1. เพิ่มสิทธิ์ในไฟล์ Manifest

    <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. เพิ่มสิทธิ์ในไฟล์ Manifest

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