Os dispositivos com o Android 9 podem reconhecer as informações da operadora de assinatura para fornecer um ID e um nome da transportadora. O Android mantém um banco de dados de ID de operadora, com regras correspondentes para cada operadora e o ID exclusivo dela. O Android Open Source
Project (AOSP) inclui o conteúdo do banco de dados de ID de operadora no arquivo
carrier_list.textpb. O banco de dados unificado minimiza a lógica duplicada em apps que precisam identificar operadoras e limita a exposição de atributos de identificação de operadoras.
Para melhorar a cobertura e a precisão da identificação de operadoras, o Android oferece suporte a atualizações fora da banda e da tabela de ID de operadora. Cada atualização vem com um número de versão e é publicada no AOSP.
Implementação
Se você quiser implementar atualizações fora da banda, faça o download do
carrier_list.pb
binário do AOSP. Para conferir o formato legível da tabela, consulte
carrier_list.textpb.
Coloque a tabela de ID de operadora na partição de dados /data/misc/carrierid/ do dispositivo. Se a tabela de ID de operadora for mais recente que a versão atual, o dispositivo
vai manter a tabela na
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().
Adicionar informações de ID de operadora ao banco de dados
Para adicionar ou atualizar um ID de operadora no banco de dados, envie uma solicitação usando o formulário de informações de identificação da operadora.
Sua solicitação será analisada e, se aprovada, a mudança será enviada para a base de código do AOSP
em
carrier_list.pb.
Em seguida, você pode copiar a lista atualizada e incorporá-la à sua build personalizada.
Integrar IDs de operadora ao CarrierConfig
A partir do Android 10,
a configuração da operadora oferece suporte ao
uso de IDs de operadora como chaves para buscar configurações específicas da operadora em
CarrierService.
A integração de IDs de operadora ao CarrierConfig tem as seguintes vantagens:
- Consolida todos os pares MCC/MNC para cada operadora em um único local, removendo dados duplicados ou inconsistentes.
- Cria um identificador canônico para cada operadora 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).
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.xmlde uma única operadora. Usecarrier_list.textpbcomo 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. As MVNOs herdam configurações de MNOs no arquivo legado
carrier_config_mccmnc.xml. Como os IDs de operadora permitem que todas as operadoras, incluindo MVNOs, tenham um arquivo de configuração dedicado, recomendamos incluir dados de MNO durante a migração.Se a configuração de um ID de operadora MVNO não existir, busque a configuração do ID de operadora MNO usando
getCarrierIdFromSimMccMnc.Renomeie o novo arquivo como
carrier_config_carrierid_carrierid_carriername.xmlem que carrierid precisa corresponder a umcanonical_ide carriername precisa corresponder a umcarrier_nameem carrier_list.textpb.