Os dispositivos que executam o Android 9 podem reconhecer as informações da operadora de assinatura para fornecer um ID e um nome de operadora. O Android mantém um banco de dados de ID de operadora, com regras de correspondência para cada operadora e seu ID de operadora exclusivo. O AOSP inclui o conteúdo do banco de dados de IDs de operadoras, no arquivo carrier_list.textpb
. O banco de dados unificado minimiza a lógica duplicada em aplicativos que precisam identificar operadoras e limita a exposição de atributos de identificação de operadora.
Para melhorar a cobertura e a precisão da identificação da operadora, o Android oferece suporte a atualizações de tabela de ID de operadora e fora de banda. Cada atualização vem com um número de versão e é publicada no AOSP.
Implementação
Os usuários que desejam implementar atualizações fora de banda podem baixar o binário carrier_list.pb
do AOSP. Para visualizar o formato legível da tabela, consulte carrier_list.textpb
.
Coloque a tabela de ID da operadora na partição /data/misc/carrierid/
data do dispositivo. Se a tabela de ID de operadora for mais recente que a versão existente, o dispositivo persistirá na tabela para a classe de banco de dados de ID de operadora . As informações mais recentes do banco de dados de ID de operadora são coletadas pelos métodos públicos getSimCarrierId()
e getSimCarrierIdName()
.
Adicionando informações de ID da operadora ao banco de dados
Para adicionar ou atualizar um ID de operadora ao banco de dados, envie uma solicitação usando o formulário de informações de identificação da operadora .
Sua solicitação é analisada e, se aprovada, a alteração é enviada para a base de código AOSP em carrier_list.pb
. Você pode então copiar a lista atualizada e incorporá-la à sua compilação personalizada.
Integrando IDs de operadora com CarrierConfig
A partir do Android 10, a configuração da operadora é compatível com o uso de IDs da operadora como chaves para buscar configurações específicas da operadora do CarrierService
.
A integração de IDs de operadora com CarrierConfig
tem as seguintes vantagens:
- Consolida todos os pares MCC/MNC de cada operadora em um único local, removendo dados duplicados ou inconsistentes.
- Cria um identificador canônico para cada portadora e remove a ambiguidade.
- Permite que as operadoras de rede virtual móvel (MVNOs) sejam identificadas com IDs individuais em vez de ter configurações como parte de uma operadora de rede móvel (MNO).
Como migrar dados de configuração para IDs de operadora
Para migrar dados de configuração de pares MCC/MNC para IDs de operadora, siga estas etapas:
Agrupe os arquivos
carrier_config_mccmnc.xml
de uma única operadora. Usecarrier_list.textpb
como referência para mapear as informações de MCC, MNC e MVNO para uma operadora específica.Mescle as configurações em um único arquivo.
(Opcional) Herdar dados de MNOs. MVNOs herdam configurações de MNOs no arquivo
carrier_config_mccmnc.xml
legado. Como os IDs de operadora permitem que todas as operadoras, incluindo MVNOs, tenham um arquivo de configuração dedicado, é recomendável incluir dados de MNO durante a migração.Se a configuração para um ID de portadora MVNO não existir, busque a configuração de seu ID de portadora MNO usando
getCarrierIdFromSimMccMnc
.Renomeie o novo arquivo como
carrier_config_carrierid_ carrierid _ carriername .xml
em que carrierid deve corresponder acanonical_id
e carriername deve corresponder acarrier_name
emcarrier_list.textpb