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 ปิดอยู่
- ขอสิทธิ์รันไทม์
- สิทธิ์เข้าถึงบลูทูธ
- สื่อสารในเบื้องหลัง