I dispositivi con Android 9 possono riconoscere le informazioni sull'operatore di abbonamento per fornire un ID e un nome dell'operatore. Android gestisce un database di ID operatore, con regole di corrispondenza per ogni operatore e il relativo ID univoco. AOSP include i
contenuti del database degli ID operatore, nel file
carrier_list.textpb
.
Il database unificato riduce al minimo la logica duplicata nelle app che devono identificare gli operatori e limita l'esposizione degli attributi che li identificano.
Per migliorare la copertura e l'accuratezza dell'identificazione dell'operatore, Android supporta gli aggiornamenti out-of-band e della tabella ID operatore. Ogni aggiornamento è associato a un numero di versione e viene pubblicato in AOSP.
Implementazione
Gli utenti che vogliono implementare gli aggiornamenti out-of-band possono scaricare il file binario
carrier_list.pb
da AOSP. Per visualizzare il formato leggibile della tabella, consulta
carrier_list.textpb
.
Inserisci la tabella ID operatore nella partizione dati /data/misc/carrierid/
del
dispositivo. Se la tabella degli ID operatore è più recente della versione esistente, il dispositivo
persiste nella tabella della
classe del database degli ID operatore.
Le informazioni più recenti dal database degli ID operatore vengono raccolte con i
metodi pubblici
getSimCarrierId()
e
getSimCarrierIdName()
.
Aggiungere informazioni sull'ID operatore al database
Per aggiungere o aggiornare un ID corriere nel database, invia una richiesta utilizzando il modulo per le informazioni di identificazione del corriere.
La richiesta viene esaminata e, se approvata, la modifica viene inviata al codebase AOSP all'indirizzo carrier_list.pb
.
Puoi quindi copiare l'elenco aggiornato e incorporarlo nella tua build
personalizzata.
Integrare gli ID operatore con CarrierConfig
A partire da Android 10, la configurazione dell'operatore supporta l'utilizzo degli ID operatore come chiavi per recuperare le configurazioni specifiche dell'operatore da CarrierService
.
L'integrazione degli ID operatore con CarrierConfig
offre i seguenti vantaggi:
- Consente di consolidare tutte le coppie MCC/MNC per ciascun operatore in un'unica posizione,rimuovendo i dati duplicati o incoerenti.
- Crea un identificatore canonico per ogni corriere e rimuove le ambiguità.
- Consente agli operatori di rete virtuale mobile (MVNO) di essere identificati con ID individuali anziché avere configurazioni all'interno di un operatore di rete mobile (MNO).
Esegui la migrazione dei dati di configurazione agli ID operatore
Per eseguire la migrazione dei dati di configurazione dalle coppie Centro clienti/MNC agli ID operatore, procedi nel seguente modo:
Raggruppa i file
carrier_config_mccmnc.xml
di un singolo corriere. Utilizzacarrier_list.textpb
come riferimento per mappare le informazioni su MCC, MNC e MVNO a un determinato operatore.Unisci le configurazioni in un unico file.
(Facoltativo) Eredita i dati dagli operatori di telefonia mobile. Gli MVNO ereditano le configurazioni dalle compagnie di telefonia mobile nel file
carrier_config_mccmnc.xml
precedente. Poiché gli ID operatore consentono a tutti gli operatori, inclusi gli MVNO, di avere un file di configurazione dedicato, è consigliabile includere i dati dell'operatore di rete mobile durante la migrazione.Se la configurazione per un ID operatore MVNO non esiste, recuperala dall'ID operatore MNO utilizzando
getCarrierIdFromSimMccMnc
.Rinomina il nuovo file come
carrier_config_carrierid_carrierid_carriername.xml
dove carrierid deve corrispondere acanonical_id
e carriername deve corrispondere acarrier_name
incarrier_list.textpb