ขอสิทธิ์เข้าถึงข้อมูลเซ็นเซอร์ร่างกายในเบื้องหลัง

Android 13 และ Wear OS 4 เพิ่มวิธีให้แอปเข้าถึงเซ็นเซอร์ร่างกาย เช่น เป็นอัตราการเต้นของหัวใจจากพื้นหลัง รูปแบบการเข้าถึงใหม่นี้คล้ายกับ ที่เปิดตัวการเข้าถึงตำแหน่งในเบื้องหลังใน Android 10 (API ระดับ 29)

หากแอปจำเป็นต้องเข้าถึงข้อมูลเซ็นเซอร์ร่างกายในเบื้องหลัง เช่น เมื่อ ตรวจสอบข้อมูลบริการสุขภาพในเบื้องหลัง คุณต้องส่งคำขอ สิทธิ์ BODY_SENSORS_BACKGROUND

ตามที่อธิบายไว้ในหน้าแนวทางปฏิบัติแนะนำด้านความเป็นส่วนตัว แอปควรขอเฉพาะ สิทธิ์ BODY_SENSORS_BACKGROUND เมื่อมีความสําคัญต่อผู้ใช้ และควรเปิดเผยข้อมูลนี้ให้ผู้ใช้ทราบอย่างเหมาะสม

กระบวนการสำหรับการให้สิทธิ์จะขึ้นอยู่กับ SDK เป้าหมายของแอป เวอร์ชัน

แอปกำหนดเป้าหมายเป็น Android 13 ขึ้นไป

นอกเหนือจากสิทธิ์ BODY_SENSORS ที่มีอยู่แล้ว ให้ประกาศสิทธิ์ สิทธิ์ BODY_SENSORS_BACKGROUND ในไฟล์ Manifest

<uses-permission android:name="android.permission.BODY_SENSORS">
<uses-permission android:name="android.permission.BODY_SENSORS_BACKGROUND">

จากนั้นแอปของคุณต้องขอสิทธิ์ในการดําเนินการแยกต่างหาก ดังนี้

  1. ตรวจสอบว่า BODY_SENSORS ได้รับอนุญาตหรือไม่ หากไม่ใช่ ให้ขอสิทธิ์
  2. ตรวจสอบว่า BODY_SENSORS_BACKGROUND ได้รับอนุญาตหรือไม่ หากไม่ ให้ขอ สิทธิ์
วันที่ ตัวเลือก &quot;ตลอดกาล&quot; เป็นรายการแรกในหน้าจอการตั้งค่า
รูปที่ 1 การตั้งค่าเซ็นเซอร์มีตัวเลือกที่ชื่อว่า เวลา ซึ่งจะให้สิทธิ์การเข้าถึงข้อมูลเซ็นเซอร์เบื้องหลัง

ข้อควรระวัง: หากแอปขอสิทธิ์เซ็นเซอร์ร่างกายทั้ง 2 แบบที่ ในเวลาเดียวกัน ระบบจะไม่สนใจคำขอ และจะไม่ให้สิทธิ์แอป สิทธิ์

ใน Android 13 (API ระดับ 33) ขึ้นไป กล่องโต้ตอบสิทธิ์รันไทม์จะไม่ ให้ใส่ปุ่ม "อนุญาตตลอด" ตัวเลือก แต่ผู้ใช้ต้องเปิดใช้การตั้งค่าตลอดเวลา การเข้าถึงเซ็นเซอร์ที่พื้นหลังจากการตั้งค่าระบบดังที่แสดงในรูปที่ 1 เมื่อคุณ ขอสิทธิ์ BODY_SENSORS_BACKGROUND หลังจากให้สิทธิ์ สิทธิ์BODY_SENSORS คุณสามารถช่วยให้ผู้ใช้ไปยังหน้าการตั้งค่านี้ได้ ถ้า ผู้ใช้ปฏิเสธการเข้าถึงตลอดเวลา พวกเขาควรสามารถใช้ แอป

กำหนดเป้าหมายแอปไปยังเวอร์ชันก่อนหน้า

วันที่ ข้อความลิงก์คือ &quot;ไปที่การตั้งค่า&quot;
รูปที่ 2 กล่องโต้ตอบสิทธิ์จะมีลิงก์เพื่อนําผู้ใช้ไป สิทธิ์เซ็นเซอร์ของแอปในการตั้งค่าระบบ

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

ผู้ใช้ปฏิเสธการเข้าถึงเมื่ออยู่เบื้องหลังได้ ให้ผลเช่นเดียวกับการเพิกถอน BODY_SENSORS ได้ขณะที่แอปทำงานอยู่เบื้องหลัง เมื่อ แอปใช้ PassiveMonitoringClient โดยไม่มีสิทธิ์เข้าถึงในเบื้องหลัง และไปทำงานในเบื้องหลัง แอปจะเสียสิทธิ์เข้าถึง BODY_SENSORS และ มีการเรียกใช้ Callback onPermissionLost() ด้วยเหตุนี้ ระบบจึง คุณควรปฏิบัติตามแนวทางปฏิบัติแนะนำในการขอรันไทม์ สิทธิ์