I dispositivi con Android 9 possono riconoscere le informazioni
sull'operatore dell'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 operatore 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 di identificazione degli operatori.
Per migliorare la copertura e l'accuratezza dell'identificazione dell'operatore, Android supporta aggiornamenti out-of-band e della tabella degli ID operatore. Ogni aggiornamento è dotato di un numero di versione e viene pubblicato su AOSP.
Implementazione
Gli utenti che vogliono implementare aggiornamenti out-of-band possono scaricare il
carrier_list.pb
binario da AOSP. Per visualizzare il formato leggibile della tabella, vedi
carrier_list.textpb
.
Inserisci la tabella degli ID operatore nella partizione di dati /data/misc/carrierid/
del
dispositivo. Se la tabella degli ID operatore è più recente della versione esistente, il dispositivo
la salva nella
classe del database degli ID operatore.
Le informazioni più recenti del database degli ID operatore vengono recuperate dai
metodi pubblici
getSimCarrierId()
e
getSimCarrierIdName()
.
Aggiungere informazioni sull'ID operatore al database
Per aggiungere o aggiornare un ID operatore nel database, invia una richiesta utilizzando il modulo Informazioni di identificazione dell'operatore.
La tua richiesta viene esaminata e, se approvata, la modifica viene inviata al codice 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:
- Consolida tutte le coppie MCC/MNC per ogni operatore in un'unica posizione rimuovendo i dati duplicati o incoerenti.
- Crea un identificatore canonico per ogni operatore e rimuove l'ambiguità.
- Consente di identificare gli operatori di rete virtuale mobile (MVNO) con ID individuali anziché con configurazioni che fanno parte di un operatore di rete mobile (MNO).
Eseguire la migrazione dei dati di configurazione agli ID operatore
Per eseguire la migrazione dei dati di configurazione dalle coppie MCC/MNC agli ID operatore, segui questi passaggi:
Raggruppa i file
carrier_config_mccmnc.xml
di un singolo operatore. 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 rete mobile. Gli MVNO ereditano le configurazioni dagli MNO nel file
carrier_config_mccmnc.xml
legacy. Poiché gli ID operatore consentono a tutti gli operatori, inclusi gli MVNO, di avere un file di configurazione dedicato, è consigliabile includere i dati MNO 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 a uncanonical_id
e carriername deve corrispondere a uncarrier_name
incarrier_list.textpb