แอปที่ตั้งเป้าหมายไปที่ Android เวอร์ชันใหม่จะไม่สามารถเขียนไปยังรายชื่อติดต่อได้โดยตรง แม้จะมีการร้องขอสิทธิ์ WRITE_CONTACTS ก็ตาม หากพยายามเขียนโดยตรง ระบบจะปฏิเสธและส่งผลให้เกิด SecurityException หรือการปฏิเสธสิทธิ์
สำหรับแอปที่ต้องการสิทธิ์เข้าถึงและแก้ไขรายชื่อติดต่อในวงกว้าง จะมีสิทธิ์พิเศษใหม่คือ MANAGE_CONTACTS ซึ่งจะมาพร้อมกับ Android 17 QPR2 (Q4 2026) โดย Google Play กำลังเผยแพร่วิธีการเข้าถึงรายชื่อติดต่อที่อัปเดตแล้ว
ก่อนหน้านี้ การขอสิทธิ์ WRITE_CONTACTS นั้นให้การเข้าถึงที่กว้างมาก ทำให้แอปสามารถเปลี่ยนแปลงรายชื่อติดต่อในพื้นหลังได้โดยไม่จำเป็นต้องมีการโต้ตอบจากผู้ใช้ แต่ขณะนี้ระบบจะทำให้ Contact Intents ทั้ง ACTION_INSERT, ACTION_EDIT และ ACTION_INSERT_OR_EDIT ทำงานได้อย่างมีมาตรฐานเดียวกันบนทุกอุปกรณ์
การเปลี่ยนแปลงนี้ช่วยแก้ไขปัญหาความไม่สม่ำเสมอของพฤติกรรมระหว่างอุปกรณ์ต่างๆ ที่เคยเกิดขึ้นมาก่อนหน้า
ศัพท์ที่ควรรู้
- WRITE_CONTACTS – สิทธิ์ที่เคยอนุญาตให้แอปเขียนไปยังรายชื่อติดต่อทั้งหมดบนอุปกรณ์
- Contact Intents – กลไกที่แอปใช้เพื่อสื่อสารและดำเนินการเกี่ยวกับรายชื่อติดต่อ
- MANAGE_CONTACTS – สิทธิ์พิเศษใหม่สำหรับแอปที่ต้องการการเข้าถึงและแก้ไขรายชื่อติดต่อในวงกว้าง
- SecurityException – ข้อผิดพลาดด้านความปลอดภัยที่เกิดขึ้นเมื่อแอปพยายามทำสิ่งที่ไม่อนุญาต
ที่มา: developer.android.com