keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
การขอสิทธิ์ใน Wear OS จะคล้ายกับการขอสิทธิ์ใน แอปบนอุปกรณ์เคลื่อนที่ โดยมี Use Case เพิ่มเติม 2-3 รายการ เอกสารนี้ถือว่าคุณเข้าใจวิธีการทำงานของสิทธิ์ใน Android หากไม่ทราบ โปรดดูวิธีสิทธิ์ ทำงานใน Android
เช่นเดียวกับในแอปบนอุปกรณ์เคลื่อนที่ ผู้ใช้ต้องให้สิทธิ์แก่แอป Wear เพื่อเข้าถึงฟังก์ชันการทำงานบางอย่าง ในแอป Wear ของคุณ ให้ฟังก์ชันการทำงาน ที่มีประโยชน์โดยไม่ต้องขอสิทธิ์ใดๆ
สถานการณ์เกี่ยวกับสิทธิ์
คุณอาจพบสถานการณ์ต่างๆ เมื่อขอ สิทธิ์ที่เป็นอันตราย ใน Wear OS ดังนี้
แอป Wear จะขอสิทธิ์สำหรับแอปที่ทำงานบนอุปกรณ์ที่สวมใส่ได้
แอป Wear จะขอสิทธิ์สำหรับแอปที่ทำงานในโทรศัพท์
แอปโทรศัพท์จะขอสิทธิ์สำหรับแอปที่ทำงานบนอุปกรณ์ที่สวมใส่ได้
แอปโทรศัพท์จะขอสิทธิ์หลายอย่างที่ใช้ได้เฉพาะในขณะที่ อุปกรณ์ที่สวมใส่ได้เชื่อมต่ออยู่
หากต้องการดูสถานการณ์ทั้งหมดนี้ในแอปที่ใช้งานได้ ให้ตรวจสอบตัวอย่าง ExerciseSampleCompose ใน GitHub
ส่วนต่อไปนี้จะอธิบายสถานการณ์แต่ละอย่าง ดูข้อมูลเพิ่มเติม เกี่ยวกับการขอสิทธิ์ได้ที่ส่วนรูปแบบการขอสิทธิ์
แอป Wear ขอสิทธิ์ของอุปกรณ์สวมใส่
เมื่อแอป Wear ขอสิทธิ์สำหรับแอปที่ทำงานบนอุปกรณ์ที่สวมใส่ได้ ระบบจะแสดงกล่องโต้ตอบเพื่อแจ้งให้ผู้ใช้ให้สิทธิ์ดังกล่าว ในแอป ให้ขอสิทธิ์เฉพาะเมื่อผู้ใช้ทราบอย่างชัดเจนว่าทำไมจึงต้องมี สิทธิ์เพื่อดำเนินการที่กำหนด
อ่านหลักการเกี่ยวกับสิทธิ์
เพื่อให้มั่นใจว่าคุณได้มอบประสบการณ์ที่ดีที่สุดแก่ผู้ใช้ และอย่าลืม
ตรวจสอบ
shouldShowRequestPermissionRationale()
และให้ข้อมูลเพิ่มเติม
ตามที่จำเป็น
หากแอปหรือหน้าปัดต้องใช้สิทธิ์มากกว่า 1 รายการในครั้งเดียว คำขอสิทธิ์ จะปรากฏขึ้นทีละรายการ

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

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

แอปโทรศัพท์ขอสิทธิ์หลายรายการพร้อมกัน

แอปพาร์ทเนอร์ใน Android 12 (API ระดับ 31) ขึ้นไปจะใช้โปรไฟล์อุปกรณ์ที่ใช้ร่วมกันได้เมื่อเชื่อมต่อกับนาฬิกา การใช้โปรไฟล์ช่วยให้กระบวนการลงทะเบียนง่ายขึ้นด้วยการรวมการให้ชุดสิทธิ์เฉพาะประเภทอุปกรณ์ ไว้ในขั้นตอนเดียว
ระบบจะให้สิทธิ์ที่รวมไว้แก่แอปที่ใช้ร่วมกันเมื่ออุปกรณ์เชื่อมต่อ และสิทธิ์จะคงอยู่ตราบเท่าที่อุปกรณ์เชื่อมโยงกัน การลบแอปหรือ
การยกเลิกการเชื่อมโยงจะเป็นการนำสิทธิ์ออก ดูรายละเอียดได้ที่
AssociationRequest.Builder.setDeviceProfile()
รูปแบบคำขอสิทธิ์
การขอสิทธิ์จากผู้ใช้มีรูปแบบต่างๆ โดยจะเรียงตามลำดับความสำคัญ ดังนี้
ขอสิทธิ์ในบริบทเมื่อเห็นได้ชัดว่าจำเป็นสำหรับฟังก์ชันการทำงานที่เฉพาะเจาะจง แต่ไม่จำเป็นสำหรับแอปโดยรวมในการทำงาน
ให้ความรู้ในบริบทเมื่อเหตุผลในการขอสิทธิ์ไม่ชัดเจนและแอปไม่จำเป็นต้องมีสิทธิ์ดังกล่าวเพื่อเรียกใช้โดยรวม
เราจะอธิบายรูปแบบเหล่านี้ในส่วนต่อไปนี้
ถามตามบริบท
ขอสิทธิ์เมื่อผู้ใช้ทราบอย่างชัดเจนว่าเหตุใดจึงต้องมีสิทธิ์ เพื่อดำเนินการที่กำหนด ผู้ใช้มีแนวโน้มที่จะให้สิทธิ์มากขึ้นเมื่อ เข้าใจความเชื่อมโยงของสิทธิ์กับฟีเจอร์ที่ต้องการใช้
เช่น แอปอาจต้องใช้ตำแหน่งของผู้ใช้เพื่อแสดงสถานที่น่าสนใจที่อยู่ใกล้เคียง เมื่อผู้ใช้แตะเพื่อค้นหาสถานที่ใกล้เคียง แอปจะขอสิทธิ์เข้าถึงตำแหน่งได้ทันที เนื่องจากมีความสัมพันธ์ที่ชัดเจนระหว่างการค้นหาสถานที่ใกล้เคียงกับความจำเป็นในการขอสิทธิ์เข้าถึงตำแหน่ง ความชัดเจนของความสัมพันธ์นี้ทำให้แอปไม่จำเป็นต้องแสดงหน้าจอให้ความรู้เพิ่มเติม

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

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

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

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

แนะนำสำหรับคุณ
- หมายเหตุ: ข้อความลิงก์จะแสดงเมื่อ JavaScript ปิดอยู่
- ขอสิทธิ์รันไทม์
- สิทธิ์เข้าถึงบลูทูธ
- สื่อสารในเบื้องหลัง