ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
การรองรับเครือข่ายหลายผู้ให้บริการ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
อุปกรณ์ที่เปิดตัวด้วย Android 11 ขึ้นไปจะรองรับเครือข่ายมือถือสาธารณะ (PLMN) หลายเครือข่าย Android 11 มีเมธอดใน Cell Identification API เพื่อรับข้อมูลเกี่ยวกับ PLMN ที่รองรับของเซลล์เพื่อแยกความแตกต่างระหว่างผู้ให้บริการเครือข่ายมือถือกับผู้ให้บริการเครือข่าย
การรองรับ PLMN หลายรายการช่วยให้ผู้ให้บริการเครือข่ายมือถือ (MNO) มีความยืดหยุ่นมากขึ้นเนื่องจากสามารถออกอากาศข้อมูลประจำตัวได้หลายรายการ ข้อกำหนดนี้จำเป็นเป็นหลักเพื่อรองรับข้อตกลงการแชร์ที่มีการใช้ฮาร์ดแวร์หรือหอคอยร่วมกันโดย MNO หลายราย ในสถานการณ์ที่มี PLMN หลายรายการ เมื่ออุปกรณ์เลือกลงทะเบียนโดยใช้หอคอยหนึ่งๆ ก็จะเลือก PLMN ที่จะใช้ในการลงทะเบียน ซึ่งจะล็อกโปรไฟล์ของอุปกรณ์กับ PLMN นั้นสำหรับการติดต่อสื่อสารทั้งหมดที่ตามมา วิธีการ getRegisteredPlmn
จะดึงข้อมูล PLMN ที่ลงทะเบียนไว้สำหรับอุปกรณ์
การใช้งาน
หากต้องการรองรับ PLMN หลายรายการในอุปกรณ์ที่ใช้ Android 11 ขึ้นไป ให้ใช้ฟังก์ชันต่อไปนี้ใน IRadio
IRadio.hal และ IRadioResponse.hal
ใน HAL ของ Radio 1.5 ระบบจะรายงานข้อมูลเกี่ยวกับเครือข่ายที่อุปกรณ์ลงทะเบียนไว้แตกต่างจากเวอร์ชันก่อนหน้าเพื่อรองรับ PLMN หลายรายการ ประการแรก ระบบจะรายงาน PLMN ที่ลงทะเบียน (RPLMN) แยกกัน เนื่องจากในเซลล์ PLMN หลายเซลล์ RPLMN อาจไม่ใช่ PLMN-ID หลัก และในโครงสร้าง CellIdentity
เซลล์จะระบุ PLMN-ID หลักและรายการ PLMN-ID เพิ่มเติม RPLMN ต้องเป็นตัวระบุ PLMN หลักหรือตัวระบุ PLMN เพิ่มเติมรายการใดรายการหนึ่งตามที่ระบุไว้ในโครงสร้าง CellIdentity
การเปลี่ยนแปลงใน HAL ของวิทยุ 1.5 จะส่งผลต่อเมธอด HAL 2 รายการต่อไปนี้ใน
IRadio.hal
(และเมธอดการตอบกลับที่เกี่ยวข้องใน
IRadioResponse.hal
)
getDataRegState_1_5
และ getDataRegStateResult_1_5(RegStateResult
result)
getVoiceRegState_1_5
และ getVoiceRegStateResult_1_5(RegStateresult
result)
types.hal
ใช้สิ่งต่อไปนี้
ใน types.hal
ClosedSubscriberGroupInfo
: รวมอยู่ด้วย (ไม่บังคับ) กับทุกCellIdentity
อินสแตนซ์ โครงสร้างนี้ใช้เพื่อระบุรายละเอียดเกี่ยวกับกลุ่มสมาชิกแบบปิดที่เซลล์หนึ่งๆ อยู่ด้วย (หากมี) โดยทั่วไปแล้วจะใช้เพื่อระบุเซลล์ขนาดเล็ก เช่น อุปกรณ์ LTE ส่วนบุคคล นอกจากนี้ยังนำไปใช้ในการติดตั้งใช้งาน เช่น CBRS LTE ได้อีกด้วย
CellIdentityLte
: รองรับรายการรหัส PLMN เพิ่มเติม
CellIdentityWcdma
: รองรับรายการรหัส PLMN เพิ่มเติม
CellIdentityTdscdma
: รองรับรายการรหัส PLMN เพิ่มเติม
RegStateResult
: มีโครงสร้าง CellIdentity
ที่อัปเดตแล้วและช่องเพื่อระบุ RPLMN
การตรวจสอบความถูกต้อง
หากต้องการทดสอบการติดตั้งใช้งาน ให้ทำการทดสอบ CTS ต่อไปนี้
CellInfoTest
ขณะที่ลงทะเบียนกับเครือข่ายการเข้าถึงระบบวิทยุแบบหลายผู้ให้บริการ (MORAN) หรือเครือข่ายหลักแบบหลายผู้ให้บริการ (MOCN)
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Multi-operator network support\n\nDevices launching with Android 11 or higher can provide\nsupport for multiple public land mobile networks (PLMNs). Android\n11 includes methods in the\n[cell identification APIs](https://developer.android.com/reference/android/telephony/CellIdentity)\nto get information about a cell's supported PLMNs to distinguish between\ncellular service providers and network operators.\n\nMulti-PLMN support provides flexibility to mobile network operators (MNOs) by\nallowing them to broadcast multiple identities. This is primarily required to\nsupport sharing agreements where common hardware or towers are used by multiple\nMNOs. In a multi-PLMN scenario, when a device chooses to register using a\nparticular tower, it selects the PLMN to use for that registration, which locks\nthe device's *profile* to that PLMN for all ensuing communication. The\n[`getRegisteredPlmn`](https://developer.android.com/reference/android/telephony/NetworkRegistrationInfo#getRegisteredPlmn())\nmethod retrieves the registered PLMN for the device.\n\nImplementation\n--------------\n\nTo support multi-PLMN on devices running Android 11\nor higher, implement the functions in the following locations in\n[`IRadio`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/).\n\n### IRadio.hal and IRadioResponse.hal\n\nIn the Radio 1.5 HAL, to support multi-PLMN, information about the network the\ndevice registers on is reported differently than previous versions. First, the\nregistered PLMN (RPLMN) is reported separately because on multi-PLMN cells, the\nRPLMN might not be the primary PLMN-ID. And in the `CellIdentity` structures,\nthe cell provides a primary PLMN-ID and a list of additional PLMN-IDs. The RPLMN\nmust be the primary PLMN-ID or one of the additional PLMN-IDs indicated in the\n`CellIdentity` structure.\n\nThe changes in the Radio 1.5 HAL impact the following two HAL methods in\n[`IRadio.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/IRadio.hal)\n(and their corresponding response methods in\n[`IRadioResponse.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/IRadioResponse.hal)).\n\n- `getDataRegState_1_5` and `getDataRegStateResult_1_5(RegStateResult\n result)`\n- `getVoiceRegState_1_5` and `getVoiceRegStateResult_1_5(RegStateresult\n result)`\n\n### types.hal\n\nImplement the following\nin [`types.hal`](https://android.googlesource.com/platform/hardware/interfaces/+/refs/heads/android16-release/radio/1.5/types.hal):\n\n- `ClosedSubscriberGroupInfo`: Included optionally with every `CellIdentity` instance. This structure is used to provide details about the closed subscriber group to which a cell belongs, if any. This is commonly used to identity *small cells* such as personal LTE devices. It can also be used in deployments such as CBRS LTE.\n- `CellIdentityLte`: Supports a list of additional PLMN-IDs.\n- `CellIdentityWcdma`: Supports a list of additional PLMN-IDs.\n- `CellIdentityTdscdma`: Supports a list of additional PLMN-IDs.\n- `RegStateResult`: Includes an updated `CellIdentity` structure and a field to indicate the RPLMN.\n\nValidation\n----------\n\nTo test your implementation, run the following CTS test:\n[`CellInfoTest`](https://android.googlesource.com/platform/cts/+/3c3d33a/tests/tests/telephony/src/android/telephony/cts/CellInfoTest.java)\nwhile registered to a multi-operator radio access network (MORAN) or\nmulti-operator core network (MOCN)."]]