keywords: wear, permissions, collection_guideslandingwear image_path: images/training/wear/multiple_permissions.png
การขอสิทธิ์ใน Wear OS นั้นคล้ายกับการขอสิทธิ์ในแอปบนอุปกรณ์เคลื่อนที่ โดยมีกรณีการใช้งานเพิ่มเติม 2-3 กรณี เอกสารนี้จะสมมติว่าคุณเข้าใจ วิธีการทำงานของสิทธิ์ของ Android หากไม่ทราบ ให้ดูวิธีการทำงานของสิทธิ์ใน Android
ผู้ใช้ต้องให้สิทธิ์แก่แอป Wear เพื่อเข้าถึงฟังก์ชันบางอย่าง เช่นเดียวกับในแอปบนอุปกรณ์เคลื่อนที่ ในแอป Wear ให้มอบฟังก์ชันที่มีประโยชน์โดยไม่ต้องขอสิทธิ์ใดๆ
สถานการณ์สิทธิ์
มีหลายกรณีที่คุณอาจพบเมื่อขอสิทธิ์ที่เป็นอันตรายใน Wear OS
แอป Wear ขอสิทธิ์สําหรับแอปที่ทํางานในอุปกรณ์ที่สวมใส่ได้
แอป Wear ขอสิทธิ์สำหรับแอปที่ทำงานอยู่ในโทรศัพท์
แอปโทรศัพท์ขอสิทธิ์สําหรับแอปที่ทํางานบนอุปกรณ์ที่สวมใส่ได้
แอปโทรศัพท์ขอสิทธิ์หลายรายการที่ใช้ได้ขณะที่อุปกรณ์ที่สวมใส่ได้เชื่อมต่ออยู่เท่านั้น
หากต้องการดูสถานการณ์เหล่านี้ทั้งหมดในแอปที่ใช้งานได้ ให้ดูตัวอย่าง ExcersizeSampleCompose ใน 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 ปิดอยู่
- ขอสิทธิ์รันไทม์
- สิทธิ์ใช้บลูทูธ
- สื่อสารในเบื้องหลัง