กลุ่มการอนุญาตใหม่ใน Android P ทำให้ชัดเจนเมื่อแอปต้องการอ่านบันทึกการโทรหรือหมายเลขโทรศัพท์

กลุ่มการอนุญาตใหม่ใน Android P ทำให้ชัดเจนเมื่อแอพต้องการอ่านบันทึกการโทรหรือหมายเลขโทรศัพท์ของคุณ เพื่อให้คุณรู้ว่าแอพกำลังทำอะไรอยู่

ตัวอย่างนักพัฒนา Android 3 (Android P เบต้า 2) เพิ่งลดลงและมาพร้อมกับการเปลี่ยนแปลงหลายอย่าง—ส่วนใหญ่อยู่ภายใต้ฝากระโปรง แม้ว่าจะมีการเปลี่ยนแปลงบางอย่างที่ผู้ใช้ต้องเผชิญ แต่การเปลี่ยนแปลงเกือบทั้งหมดอยู่ในการเตรียมการสำหรับการเปิดตัวครั้งสุดท้าย ส่วนที่ใหญ่ที่สุดของการอัปเดตคือ API ที่สรุปแล้ว ซึ่งหมายความว่าคุณสามารถสร้างแอปพลิเคชันที่กำหนดเป้าหมายเป็น API 28, Android P ได้ในขณะนี้ ใน Developer Preview 3 มีการเพิ่มกลุ่มสิทธิ์ใหม่แล้ว กลุ่มสิทธิ์นี้เกี่ยวข้องกับบันทึกการโทรของ Android โดยเฉพาะ ซึ่งหมายความว่าเมื่อแอปพลิเคชันต้องการอ่านบันทึกการโทรของคุณ หรือหมายเลขโทรศัพท์ ข้อความที่เห็นเด่นชัดซึ่งปรากฏแก่ผู้ใช้จะแสดงขึ้นเพื่อแจ้งให้ทราบอย่างชัดเจนว่าพวกเขาให้สิทธิ์การเข้าถึงประเภทใดแก่แอป

ประการแรก สิ่งเหล่านี้คือสตริงใหม่ที่ผู้ใช้จะเห็นเมื่อมีการร้องขอสิทธิ์ใดๆ ในกลุ่มสิทธิ์ CALL_LOG ใหม่

<stringname="permgroupdesc_calllog">read and write phone call log
string>
<stringname="permgrouprequest_calllog">Allow <b>%1$s</b> to access your phone call logs?string>
กล่องอนุญาตที่ปรากฏขึ้นเมื่อร้องขอ READ_CALL_LOG ซึ่งก่อนหน้านี้อยู่ภายใต้กลุ่มสิทธิ์ของ PHONE

สิ่งนี้จะส่งผลต่อแอปพลิเคชันที่มีอยู่อย่างไร Android ใช้การจัดกลุ่มสิทธิ์สำหรับการอนุญาตที่ทำเครื่องหมายว่า "อันตราย" เพื่อจัดการระดับการเข้าถึงที่มอบให้กับแอปพลิเคชันและเลือกข้อความที่จะแสดงต่อผู้ใช้ ก่อนหน้านี้ READ_CALL_LOG และการอนุญาตที่เกี่ยวข้องกับบันทึกการโทรอื่นๆ แสดงเป็นส่วนหนึ่งของกล่องโต้ตอบ "เข้าถึงคุณสมบัติโทรศัพท์ของอุปกรณ์" ทั่วไป แต่ข้อความนั้นคลุมเครืออย่างยิ่ง ไม่เพียงเท่านั้น ยังสามารถโต้แย้งได้ว่ามันไม่เกี่ยวข้องกับบันทึกการโทรของอุปกรณ์ของคุณ Android P Developer Preview 3 ได้จัดกลุ่มสิทธิ์ที่เกี่ยวข้องกับบันทึกการโทรทั้งหมดใหม่เป็นกลุ่มใหม่ เรียกว่า CALL_LOG อย่างเหมาะสมเพื่อให้ข้อความที่เหมาะสมยิ่งขึ้นปรากฏขึ้นเมื่อแอปพลิเคชันร้องขอ มัน.

แอปพลิเคชันจะต้องขอสิทธิ์ CALL_LOG, READ_CALL_LOG, WRITE_CALL_LOG หรือ PROCESS_OUTGOING_CALLS อย่างชัดเจนจาก กลุ่ม CALL_LOG หากจำเป็นต้องเข้าถึงบันทึกการโทรหรือประมวลผลการโทรออก ตามเอกสารแสดงตัวอย่างนักพัฒนา Android P นอกจากนี้ นักพัฒนาจะต้องคำนึงถึงเวลาที่ผู้ใช้ปฏิเสธไม่ให้แอปเข้าถึงข้อมูลบันทึกการโทร

คุณสามารถตรวจสอบการจัดกลุ่มสิทธิ์ใหม่ที่นำมาจาก Android Framework ที่ถอดรหัสแล้วด้านล่าง

<permission-groupandroid: description="@string/permgroupdesc_calllog"android: icon="@drawable/perm_group_phone_calls"android: label="@string/permgrouplab_calllog"android: name="android.permission-group.CALL_LOG"android: priority="450"android: request="@string/permgrouprequest_calllog"/>
<permissionandroid: description="@string/permdesc_accessImsCallService"android: label="@string/permlab_accessImsCallService"android: name="android.permission.ACCESS_IMS_CALL_SERVICE"android: protectionLevel="privileged|signature"/>
<permissionandroid: description="@string/permdesc_readCallLog"android: label="@string/permlab_readCallLog"android: name="android.permission.READ_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_writeCallLog"android: label="@string/permlab_writeCallLog"android: name="android.permission.WRITE_CALL_LOG"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>
<permissionandroid: description="@string/permdesc_processOutgoingCalls"android: label="@string/permlab_processOutgoingCalls"android: name="android.permission.PROCESS_OUTGOING_CALLS"android: permissionGroup="android.permission-group.CALL_LOG"android: protectionLevel="dangerous"/>

ที่มา: เอกสารประกอบสำหรับนักพัฒนา Android P