อุปกรณ์ที่ใช้ Android 9 สามารถรับรู้ข้อมูลของผู้ให้บริการการสมัครรับข้อมูลเพื่อระบุ ID และชื่อผู้ให้บริการ Android รักษาฐานข้อมูล ID ผู้ให้บริการด้วยกฎที่ตรงกันสำหรับผู้ให้บริการแต่ละรายและ ID ผู้ให้บริการที่ไม่ซ้ำกัน AOSP รวมเนื้อหาของฐานข้อมูล ID ผู้ให้บริการในไฟล์ carrier_list.textpb
ฐานข้อมูลแบบรวมจะลดตรรกะที่ซ้ำกันในแอปที่ต้องระบุผู้ให้บริการและจำกัดการเปิดเผยแอตทริบิวต์การระบุผู้ให้บริการ
เพื่อปรับปรุงความครอบคลุมและความถูกต้องของการระบุผู้ให้บริการ Android รองรับการอัปเดตตาราง ID นอกแบนด์และ ID ผู้ให้บริการ การอัปเดตแต่ละครั้งจะมาพร้อมกับหมายเลขเวอร์ชันและเผยแพร่ไปยัง AOSP
การดำเนินการ
ผู้ใช้ที่ต้องการใช้การอัปเดตนอกแบนด์สามารถดาวน์โหลดไบนารี carrier_list.pb
จาก AOSP หากต้องการดูรูปแบบของตารางที่อ่านได้ โปรดดูที่ carrier_list.textpb
วางตาราง ID ผู้ให้บริการในพาร์ติชั่นข้อมูล /data/misc/carrierid/
ของอุปกรณ์ หากตาราง ID ผู้ให้บริการใหม่กว่าเวอร์ชันที่มีอยู่ อุปกรณ์จะคงตารางไว้ที่ คลาสฐานข้อมูล ID ผู้ให้บริการ ข้อมูลล่าสุดจากฐานข้อมูล ID ผู้ให้บริการจะถูกหยิบขึ้นมาโดยเมธอดสาธารณะ getSimCarrierId()
และ getSimCarrierIdName()
การเพิ่มข้อมูล ID ผู้ให้บริการไปยังฐานข้อมูล
หากต้องการเพิ่มหรืออัปเดต ID ผู้ให้บริการไปยังฐานข้อมูล ให้ส่งคำขอโดยใช้ แบบฟอร์มข้อมูลการระบุผู้ให้บริการ
คำขอของคุณได้รับการตรวจสอบแล้ว และหากได้รับการอนุมัติ การเปลี่ยนแปลงจะถูกส่งไปยังฐานรหัส AOSP ที่ carrier_list.pb
จากนั้นคุณสามารถคัดลอกรายการที่อัปเดตและรวมไว้ในบิลด์ที่คุณกำหนดเองได้
การรวม ID ผู้ให้บริการกับ CarrierConfig
เริ่มตั้งแต่ Android 10 เป็นต้นไป การกำหนดค่าของผู้ให้บริการ รองรับการใช้ ID ผู้ให้บริการเป็นคีย์เพื่อดึงข้อมูลการกำหนดค่าเฉพาะผู้ให้บริการจาก CarrierService
การรวม ID ผู้ให้บริการกับ CarrierConfig
มีข้อดีดังต่อไปนี้:
- รวมคู่ MCC/MNC ทั้งหมดสำหรับผู้ให้บริการแต่ละรายไว้ในที่เดียวเพื่อลบข้อมูลที่ซ้ำกันหรือไม่สอดคล้องกัน
- สร้างตัวระบุมาตรฐานสำหรับผู้ให้บริการแต่ละรายและขจัดความคลุมเครือ
- อนุญาตให้ระบุผู้ให้บริการเครือข่ายมือถือเสมือน (MVNO) ด้วย ID แต่ละรายการ แทนที่จะมีการกำหนดค่าเป็นส่วนหนึ่งของผู้ให้บริการเครือข่ายมือถือ (MNO)
การย้ายข้อมูลการกำหนดค่าไปยัง ID ผู้ให้บริการ
ในการย้ายข้อมูลการกำหนดค่าจากคู่ MCC/MNC ไปยัง ID ผู้ให้บริการ ให้ทำตามขั้นตอนเหล่านี้:
จัดกลุ่มไฟล์
carrier_config_mccmnc.xml
จากผู้ให้บริการรายเดียวเข้าด้วยกัน ใช้carrier_list.textpb
เป็นข้อมูลอ้างอิงในการจับคู่ข้อมูล MCC, MNC และ MVNO กับผู้ให้บริการรายใดรายหนึ่งรวมการกำหนดค่าเป็นไฟล์เดียว
(ไม่บังคับ) รับช่วงข้อมูลจาก MNO MVNO สืบทอดการกำหนดค่าจาก MNO ในไฟล์
carrier_config_mccmnc.xml
ดั้งเดิม เนื่องจาก ID ผู้ให้บริการอนุญาตให้ผู้ให้บริการทั้งหมดรวมถึง MVNO มีไฟล์การกำหนดค่าเฉพาะ ขอแนะนำให้รวมข้อมูล MNO ไว้ในระหว่างการย้ายหากไม่มีการกำหนดค่าสำหรับ ID ผู้ให้บริการ MVNO ให้ดึงการกำหนดค่าจาก ID ผู้ให้บริการ MNO โดยใช้
getCarrierIdFromSimMccMnc
เปลี่ยนชื่อไฟล์ใหม่เป็น
carrier_config_carrierid_ carrierid _ carriername .xml
โดยที่ carrierid ต้องสอดคล้องกับcanonical_id
และ carriername ควรสอดคล้องกับcarrier_name
ในcarrier_list.textpb