I dispositivi con Android 9 possono riconoscere le informazioni dell'operatore in abbonamento per fornire un ID e un nome dell'operatore. Android mantiene un database degli ID dell'operatore, con regole di corrispondenza per ciascun operatore e il relativo ID univoco dell'operatore. AOSP include il contenuto del database degli ID del corriere, 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 di identificazione degli operatori.
Per migliorare la copertura e la precisione dell'identificazione dell'operatore, Android supporta gli aggiornamenti fuori banda e della tabella ID dell'operatore. Ogni aggiornamento viene fornito con un numero di versione e viene pubblicato su AOSP.
Implementazione
Gli utenti che desiderano implementare aggiornamenti fuori banda possono scaricare il file binario carrier_list.pb
da AOSP. Per visualizzare il formato leggibile della tabella, vedere carrier_list.textpb
.
Posiziona la tabella degli ID dell'operatore nella partizione /data/misc/carrierid/
data del dispositivo. Se la tabella dell'ID dell'operatore è più recente della versione esistente, il dispositivo mantiene la tabella nella classe del database dell'ID dell'operatore . Le informazioni più recenti dal database degli ID dell'operatore vengono raccolte dai metodi pubblici getSimCarrierId()
e getSimCarrierIdName()
.
Aggiunta delle informazioni sull'ID dell'operatore al database
Per aggiungere o aggiornare un ID dell'operatore al database, invia una richiesta utilizzando il modulo delle informazioni sull'identificazione dell'operatore .
La tua richiesta viene esaminata e, se approvata, la modifica viene inviata al codebase AOSP su carrier_list.pb
. È quindi possibile copiare l'elenco aggiornato e incorporarlo nella build personalizzata.
Integrazione degli ID operatore con CarrierConfig
A partire da Android 10, la configurazione dell'operatore supporta l'utilizzo degli ID dell'operatore come chiavi per recuperare configurazioni specifiche dell'operatore da CarrierService
.
L'integrazione degli ID operatore con CarrierConfig
presenta i seguenti vantaggi:
- Consolida tutte le coppie MCC/MNC per ciascun operatore in un'unica posizione rimuovendo dati duplicati o incoerenti.
- Crea un identificatore canonico per ciascun operatore e rimuove l'ambiguità.
- Consente agli operatori di rete mobile virtuale (MVNO) di essere identificati con ID individuali invece di avere configurazioni come parte di un operatore di rete mobile (MNO).
Migrazione dei dati di configurazione agli ID dell'operatore
Per eseguire la migrazione dei dati di configurazione dalle coppie MCC/MNC agli ID operatore, attenersi alla seguente procedura:
Raggruppare insieme i file
carrier_config_mccmnc.xml
di un singolo operatore. Utilizzacarrier_list.textpb
come riferimento per mappare le informazioni MCC, MNC e MVNO a un particolare operatore.Unisci le configurazioni in un unico file.
(Facoltativo) Eredita i dati dagli MNO. Gli MVNO ereditano le configurazioni dagli MNO nel file legacy
carrier_config_mccmnc.xml
. Poiché gli ID dell'operatore consentono a tutti gli operatori, inclusi gli MVNO, di avere un file di configurazione dedicato, è consigliabile includere i dati dell'MNO durante la migrazione.Se la configurazione per un ID operatore MVNO non esiste, recupera la configurazione dal relativo ID operatore MNO utilizzando
getCarrierIdFromSimMccMnc
.Rinominare 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