Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Unterstützung für Netzwerke mehrerer Betreiber
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Geräte, die mit Android 11 oder höher auf den Markt gebracht werden, können mehrere öffentliche Mobilfunknetze (Public Land Mobile Networks, PLMNs) unterstützen. Android 11 enthält Methoden in den Cell Identification APIs, um Informationen zu den unterstützten PLMNs einer Zelle abzurufen, um zwischen Mobilfunkanbietern und Netzwerkbetreibern zu unterscheiden.
Die Unterstützung mehrerer PLMNs bietet Mobilfunkanbietern Flexibilität, da sie mehrere Identitäten übertragen können. Dies ist vor allem erforderlich, um Vereinbarungen zur gemeinsamen Nutzung zu unterstützen, bei denen gemeinsame Hardware oder Türme von mehreren Mobilfunkanbietern genutzt werden. Wenn sich ein Gerät in einem Szenario mit mehreren PLMNs über einen bestimmten Mobilfunkmast registrieren möchte, wählt es die PLMN aus, die für diese Registrierung verwendet werden soll. Dadurch wird das Profil des Geräts für die gesamte nachfolgende Kommunikation auf diese PLMN festgelegt. Die Methode getRegisteredPlmn
ruft die registrierte PLMN für das Gerät ab.
Implementierung
Wenn Sie mehrere PLMNs auf Geräten mit Android 11 oder höher unterstützen möchten, implementieren Sie die Funktionen an den folgenden Stellen in IRadio
.
IRadio.hal und IRadioResponse.hal
In der Radio 1.5 HAL werden Informationen zum Netzwerk, bei dem sich das Gerät registriert, zur Unterstützung mehrerer PLMNs anders als in früheren Versionen erfasst. Erstens wird die registrierte PLMN (RPLMN) separat erfasst, da in Zellen mit mehreren PLMNs die RPLMN möglicherweise nicht die primäre PLMN-ID ist. In den CellIdentity
-Strukturen enthält die Zelle eine primäre PLMN-ID und eine Liste mit zusätzlichen PLMN-IDs. Die RPLMN muss die primäre PLMN-ID oder eine der zusätzlichen PLMN-IDs sein, die in der CellIdentity
-Struktur angegeben sind.
Die Änderungen an der Radio 1.5 HAL wirken sich auf die folgenden beiden HAL-Methoden in IRadio.hal
und die entsprechenden Antwortmethoden in IRadioResponse.hal
aus.
getDataRegState_1_5
und getDataRegStateResult_1_5(RegStateResult
result)
getVoiceRegState_1_5
und getVoiceRegStateResult_1_5(RegStateresult
result)
types.hal
Implementieren Sie Folgendes in types.hal
:
ClosedSubscriberGroupInfo
: Optional in jeder CellIdentity
-Instanz enthalten. Diese Struktur wird verwendet, um Details zur geschlossenen Abonnentengruppe anzugeben, zu der eine Zelle gegebenenfalls gehört. Dieser Wert wird häufig verwendet, um Small Cells wie private LTE-Geräte zu identifizieren. Sie kann auch in Bereitstellungen wie CBRS LTE verwendet werden.
CellIdentityLte
: Unterstützt eine Liste zusätzlicher PLMN-IDs.
CellIdentityWcdma
: Unterstützt eine Liste zusätzlicher PLMN-IDs.
CellIdentityTdscdma
: Unterstützt eine Liste zusätzlicher PLMN-IDs.
RegStateResult
: Enthält eine aktualisierte CellIdentity
-Struktur und ein Feld, in dem die RPLMN angegeben wird.
Zertifizierungsstufe
Führen Sie zum Testen Ihrer Implementierung den folgenden CTS-Test aus:
CellInfoTest
bei Registrierung in einem Multi-Operator Radio Access Network (MORAN) oder einem Multi-Operator Core Network (MOCN).
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)."]]