A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Suporte a redes de várias operadoras
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Os dispositivos lançados com o Android 11 ou mais recente podem oferecer
suporte a várias redes móveis terrestres públicas (PLMNs, na sigla em inglês). O Android
11 inclui métodos nas
APIs de identificação de células
para receber informações sobre as PLMNs com suporte de uma célula e distinguir entre
provedores de serviços de celular e operadores de rede.
Esse suporte oferece flexibilidade para operadoras de rede móvel (MNOs, na sigla em inglês) ao permitir que elas transmitam várias identidades. Isso é necessário principalmente para
oferecer suporte a acordos de compartilhamento em que hardwares ou torres comuns são usados por vários
MNOs. Em um cenário com vários PLMNs, quando um dispositivo escolhe se registrar usando uma
torre específica, ele seleciona o PLMN a ser usado para esse registro, o que bloqueia
o perfil do dispositivo para esse PLMN em todas as comunicações seguintes. O método
getRegisteredPlmn
recupera a PLMN registrada para o dispositivo.
Implementação
Para oferecer suporte a várias PLMNs em dispositivos com o Android 11
ou mais recente, implemente as funções nos locais abaixo em
IRadio
.
IRadio.hal e IRadioResponse.hal
No HAL do rádio 1.5, para oferecer suporte a várias PLMNs, as informações sobre a rede em que o
dispositivo é registrado são informadas de maneira diferente das versões anteriores. Primeiro, o
PLMN registrado (RPLMN) é informado separadamente porque, em células com vários PLMNs, o
RPLMN pode não ser o ID de PLMN principal. E nas estruturas CellIdentity
,
a célula fornece um PLMN-ID principal e uma lista de outros PLMN-IDs. O RPLMN
precisa ser o PLMN-ID principal ou um dos PLMN-IDs adicionais indicados na
estrutura CellIdentity
.
As mudanças no HAL do Radio 1.5 afetam os dois métodos HAL a seguir em
IRadio.hal
e os métodos de resposta correspondentes em
IRadioResponse.hal
.
getDataRegState_1_5
e getDataRegStateResult_1_5(RegStateResult
result)
getVoiceRegState_1_5
e getVoiceRegStateResult_1_5(RegStateresult
result)
types.hal
Implemente o seguinte
em types.hal
:
ClosedSubscriberGroupInfo
: incluído opcionalmente com cada
instância CellIdentity
. Essa estrutura é usada para fornecer detalhes sobre
o grupo de assinantes fechado ao qual uma célula pertence, se houver. Isso é
comumente usado para identificar pequenas células, como dispositivos LTE pessoais. Ele
também pode ser usado em implantações como o CBRS LTE.
CellIdentityLte
: oferece suporte a uma lista de outros PLMN-IDs.
CellIdentityWcdma
: oferece suporte a uma lista de outros PLMN-IDs.
CellIdentityTdscdma
: oferece suporte a uma lista de outros PLMN-IDs.
RegStateResult
: inclui uma estrutura CellIdentity
atualizada e um
campo para indicar o RPLMN.
Validação
Para testar a implementação, execute o seguinte teste CTS:
CellInfoTest
enquanto estiver registrado em uma rede de acesso por rádio multioperadora (MORAN, na sigla em inglês) ou
em uma rede central multioperadora (MOCN, na sigla em inglês).
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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)."]]