A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Identificazione dell'operatore
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 dell'ID operatore è più recente della versione esistente, il dispositivo la memorizza nella classe del database dell'ID operatore.
Le informazioni più recenti del database ID corriere vengono rilevate dai metodi pubblici
getSimCarrierId()
e
getSimCarrierIdName()
.
Per aggiungere o aggiornare un ID corriere nel database, invia una richiesta utilizzando il
modulo di informazioni per l'identificazione del corriere.
La richiesta viene esaminata e, se approvata, la modifica viene inviata alla base di codice AOSP il giorno carrier_list.pb
.
Puoi quindi copiare l'elenco aggiornato e incorporarlo nella compilazione 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, eliminando 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 MCC/MNC agli ID operatore:
Raggruppa i file carrier_config_mccmnc.xml
di un singolo corriere.
Utilizza
carrier_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
operatori di rete 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 a canonical_id
e
carriername deve corrispondere a carrier_name
in
carrier_list.textpb
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-26 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-26 UTC."],[],[],null,["# Carrier identification\n\nDevices running Android 9 can recognize subscription\ncarrier information to\nprovide an ID and a carrier name. Android maintains a carrier ID database, with\nmatching rules for each carrier and its unique carrier ID. AOSP includes the\ncontent of the carrier ID database, in the file\n[`carrier_list.textpb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.textpb).\nThe unified database minimizes duplicate logic in apps that need to identify\ncarriers and limits the exposure of carrier-identifying attributes.\n\nTo improve the coverage and accuracy of carrier identification, Android supports\nout-of-band and carrier ID table updates. Each update comes with a version\nnumber and is published to AOSP.\n\nImplementation\n--------------\n\nUsers who want to implement out-of-band updates can download the\n[`carrier_list.pb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.pb)\nbinary from AOSP. To view the readable format of the table, see\n[`carrier_list.textpb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.textpb).\n\nPlace the carrier ID table in the `/data/misc/carrierid/` data partition of the\ndevice. If the carrier ID table is newer than the existing version, the device\npersists the table to the\n[carrier ID database class](https://developer.android.com/reference/android/provider/Telephony.CarrierId).\nThe most recent information from the carrier ID database is picked up by the\npublic methods\n[`getSimCarrierId()`](https://developer.android.com/reference/android/telephony/TelephonyManager#getSimCarrierId())\nand\n[`getSimCarrierIdName()`](https://developer.android.com/reference/android/telephony/TelephonyManager#getSimCarrierIdName()).\n\nAdd carrier ID information to the database\n------------------------------------------\n\nTo add or update a carrier ID to the database, submit a request using the\n[Carrier identification information form](https://docs.google.com/forms/d/1KjwTaExKRjkE9tbR9yavBrGzwvuz1dNku2Ae_7GrdUQ/viewform?edit_requested=true).\n\nYour request is reviewed and if approved, the change is pushed to the AOSP code\nbase at\n[`carrier_list.pb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.pb).\nYou can then copy the updated list and incorporate it into your customized\nbuild.\n\nIntegrate carrier IDs with CarrierConfig\n----------------------------------------\n\nStarting from Android 10,\n[carrier configuration](/docs/core/connect/carrier) supports\nusing carrier IDs as keys to fetch carrier-specific configurations from\n[`CarrierService`](https://developer.android.com/reference/android/service/carrier/CarrierService).\n\nIntegrating carrier IDs with `CarrierConfig` has the following advantages:\n\n- Consolidates all MCC/MNC pairs for each carrier into a single location removing duplicate or inconsistent data.\n- Creates a canonical identifier for each carrier and removes ambiguity.\n- Allows mobile virtual network operators (MVNOs) to be identified with individual IDs instead of having configurations as part of a mobile network operator (MNO).\n\n### Migrate configuration data to carrier IDs\n\nTo migrate configuration data from MCC/MNC pairs to carrier IDs, follow\nthese steps:\n\n1. Group the `carrier_config_mccmnc.xml` files from a single carrier together.\n Use\n [`carrier_list.textpb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.textpb)\n as a reference to map the MCC, MNC, and MVNO information to a particular\n carrier.\n\n2. Merge the configurations into a single file.\n\n3. (Optional) Inherit data from MNOs. MVNOs inherit configurations from\n MNOs in the legacy `carrier_config_mccmnc.xml` file. Because carrier IDs\n allow all carriers including MVNOs to have a dedicated config file, it's\n recommended to include MNO data during migration.\n\n4. If the configuration for an MVNO carrier ID doesn't exist, fetch the\n configuration from its MNO carrier ID using\n [`getCarrierIdFromSimMccMnc`](https://developer.android.com/reference/android/telephony/TelephonyManager#getCarrierIdFromSimMccMnc()).\n\n5. Rename the new file as\n `carrier_config_carrierid_`\u003cvar translate=\"no\"\u003ecarrierid\u003c/var\u003e`_`\u003cvar translate=\"no\"\u003ecarriername\u003c/var\u003e`.xml`\n where \u003cvar translate=\"no\"\u003ecarrierid\u003c/var\u003e must correspond to a `canonical_id` and\n \u003cvar translate=\"no\"\u003ecarriername\u003c/var\u003e should correspond to a `carrier_name` in\n [`carrier_list.textpb`](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/android16-release/assets/latest_carrier_id/carrier_list.textpb)\n\n| **Note:** If a `carrier_config_mccmnc` file doesn't have a matching carrier ID, submit a request to add a carrier ID by following the steps in [Adding carrier ID information to the database](#adding_carrier_id_information_to_the_database)."]]