Dispositivos com o Android 9 podem reconhecer informações
de operadoras de assinatura para
fornecer um ID e um nome de operadora. O Android mantém um banco de dados de IDs de operadoras, com
regras correspondentes para cada operadora e o ID exclusivo dela. O AOSP inclui o
conteúdo do banco de dados de ID da 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 da operadora, o Android oferece suporte a atualizações de tabela de ID da 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 quiserem implementar atualizações fora da banda podem fazer o download do
binário carrier_list.pb
do AOSP. Para ver o formato legível da tabela, consulte
carrier_list.textpb
.
Coloque a tabela de ID da operadora na partição de dados /data/misc/carrierid/
do
dispositivo. Se a tabela de ID da operadora for mais recente do que a versão atual, o dispositivo
manterá a tabela na
classe do banco de dados de ID da operadora.
As informações mais recentes do banco de dados de ID da operadora são coletadas pelos
métodos públicos
getSimCarrierId()
e
getSimCarrierIdName()
.
Adicionar informações de ID da operadora ao banco de dados
Para adicionar ou atualizar o ID de uma 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, copie a lista atualizada e incorpore-a ao build
personalizado.
Integrar IDs de operadora com CarrierConfig
A partir do Android 10, a
configuração da operadora oferece suporte
ao uso de IDs de operadoras como chaves para buscar configurações específicas da operadora em
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 operadora e remove a ambiguidade.
- Permite que as operadoras de rede móvel virtual (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 operadoras
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 OMV para uma operadora específica.Mesclar as configurações em um único arquivo.
(Opcional) Herdar dados de MNOs. Os 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, é recomendado 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.xml
, em que carrierid precisa corresponder a umcanonical_id
e carriername precisa corresponder a umcarrier_name
emcarrier_list.textpb
.