A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Supporto di reti di più operatori
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
I dispositivi lanciati con Android 11 o versioni successive possono supportare più reti di telefonia mobile terrestri pubbliche (PLMN). Android
11 include metodi nelle
API di identificazione delle celle
per ottenere informazioni sui PLMN supportati da una cella al fine di distinguere tra
provider di servizi di telefonia cellulare e operatori di rete.
Il supporto di più PLMN offre flessibilità agli operatori di rete mobile (MNO) consente loro di trasmettere più identità. Questo è necessario principalmente per supportare i contratti di condivisione in cui hardware o torri comuni vengono utilizzati da più operatori di telefonia mobile. In uno scenario con più PLMN, quando un dispositivo sceglie di registrarsi utilizzando una determinata torre, seleziona il PLMN da utilizzare per la registrazione, bloccando il profilo del dispositivo su quel PLMN per tutte le comunicazioni successive. Il metodo
getRegisteredPlmn
recupera il PLMN registrato per il dispositivo.
Implementazione
Per supportare più PLMN sui dispositivi con Android 11 o versioni successive, implementa le funzioni nelle seguenti posizioni in IRadio
.
IRadio.hal e IRadioResponse.hal
Nell'HAL Radio 1.5, per supportare più PLMN, le informazioni sulla rete su cui si registra il dispositivo vengono registrate in modo diverso rispetto alle versioni precedenti. Innanzitutto, il PLMN registrato (RPLMN) viene registrato separatamente perché nelle celle con più PLMN il RPLMN potrebbe non essere l'ID PLMN principale. Nelle strutture CellIdentity
,
la cella fornisce un ID PLMN principale e un elenco di ID PLMN aggiuntivi. RPLMN deve essere l'ID PLMN principale o uno degli ID PLMN aggiuntivi indicati nella struttura CellIdentity
.
Le modifiche all'HAL Radio 1.5 influiscono sui seguenti due metodi HAL in
IRadio.hal
(e sui relativi metodi di risposta in
IRadioResponse.hal
).
getDataRegState_1_5
e getDataRegStateResult_1_5(RegStateResult
result)
getVoiceRegState_1_5
e getVoiceRegStateResult_1_5(RegStateresult
result)
types.hal
Implementa quanto segue
in types.hal
:
ClosedSubscriberGroupInfo
: incluso facoltativamente con ogni istanza CellIdentity
. Questa struttura viene utilizzata per fornire dettagli sul gruppo di abbonati chiusi a cui appartiene una cella, se presente. Questo valore viene spesso utilizzato per identificare le small cell, come i dispositivi LTE personali. Può essere utilizzato anche in implementazioni come CBRS LTE.
CellIdentityLte
: supporta un elenco di ID PLMN aggiuntivi.
CellIdentityWcdma
: supporta un elenco di ID PLMN aggiuntivi.
CellIdentityTdscdma
: supporta un elenco di ID PLMN aggiuntivi.
RegStateResult
: include una struttura CellIdentity
aggiornata e un
campo per indicare l'RPLMN.
Convalida
Per testare l'implementazione, esegui il seguente test CTS:
CellInfoTest
dopo aver eseguito la registrazione a una rete di accesso radio multioperatore (MORAN) o
a una rete di core multioperatore (MOCN).
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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)."]]