Geräte mit Android 9 können die Informationen des Abonnementanbieters erkennen und eine ID und einen Anbieternamen bereitstellen. Android unterhält eine Netzbetreiber-ID-Datenbank mit Abgleichsregeln für jeden Netzbetreiber und seiner eindeutigen Netzbetreiber-ID. AOSP schließt den Inhalt der Carrier-ID-Datenbank in die Datei carrier_list.textpb
ein. Die einheitliche Datenbank minimiert doppelte Logik in Apps, die Netzbetreiber identifizieren müssen, und begrenzt die Offenlegung von Netzbetreiber-identifizierenden Attributen.
Um die Abdeckung und Genauigkeit der Netzbetreiberidentifizierung zu verbessern, unterstützt Android Out-of-Band- und Netzbetreiber-ID-Tabellenaktualisierungen. Jedes Update verfügt über eine Versionsnummer und wird auf AOSP veröffentlicht.
Implementierung
Benutzer, die Out-of-Band-Updates implementieren möchten, können die Binärdatei carrier_list.pb
von AOSP herunterladen. Informationen zum lesbaren Format der Tabelle finden Sie unter carrier_list.textpb
.
Platzieren Sie die Carrier-ID-Tabelle in der Datenpartition /data/misc/carrierid/
des Geräts. Wenn die Carrier-ID-Tabelle neuer als die vorhandene Version ist, behält das Gerät die Tabelle in der Carrier-ID-Datenbankklasse bei. Die neuesten Informationen aus der Carrier-ID-Datenbank werden von den öffentlichen Methoden getSimCarrierId()
und getSimCarrierIdName()
abgerufen.
Hinzufügen von Carrier-ID-Informationen zur Datenbank
Um eine Spediteur-ID zur Datenbank hinzuzufügen oder zu aktualisieren, senden Sie eine Anfrage über das Formular „Spediteur-Identifikationsinformationen“ .
Ihre Anfrage wird geprüft und bei Genehmigung wird die Änderung an die AOSP-Codebasis unter carrier_list.pb
übertragen. Anschließend können Sie die aktualisierte Liste kopieren und in Ihren benutzerdefinierten Build integrieren.
Integration von Carrier-IDs mit CarrierConfig
Ab Android 10 unterstützt die Netzbetreiberkonfiguration die Verwendung von Netzbetreiber-IDs als Schlüssel zum Abrufen netzbetreiberspezifischer Konfigurationen von CarrierService
.
Die Integration von Carrier-IDs mit CarrierConfig
bietet folgende Vorteile:
- Konsolidiert alle MCC/MNC-Paare für jeden Netzbetreiber an einem einzigen Standort und entfernt doppelte oder inkonsistente Daten.
- Erstellt eine kanonische Kennung für jeden Träger und beseitigt Mehrdeutigkeiten.
- Ermöglicht die Identifizierung mobiler virtueller Netzwerkbetreiber (MVNOs) mit individuellen IDs, anstatt Konfigurationen als Teil eines mobilen Netzwerkbetreibers (MNO) vorzunehmen.
Konfigurationsdaten werden auf Carrier-IDs migriert
Gehen Sie folgendermaßen vor, um Konfigurationsdaten von MCC/MNC-Paaren zu Carrier-IDs zu migrieren:
Gruppieren Sie die Dateien
carrier_config_mccmnc.xml
eines einzelnen Netzbetreibers. Verwenden Siecarrier_list.textpb
als Referenz, um die MCC-, MNC- und MVNO-Informationen einem bestimmten Netzbetreiber zuzuordnen.Führen Sie die Konfigurationen in einer einzigen Datei zusammen.
(Optional) Daten von Mobilfunknetzbetreibern übernehmen. MVNOs erben Konfigurationen von MNOs in der alten Datei
carrier_config_mccmnc.xml
. Da Netzbetreiber-IDs es allen Netzbetreibern, einschließlich MVNOs, ermöglichen, über eine dedizierte Konfigurationsdatei zu verfügen, wird empfohlen, bei der Migration MNO-Daten einzubeziehen.Wenn die Konfiguration für eine MVNO-Träger-ID nicht vorhanden ist, rufen Sie die Konfiguration mit
getCarrierIdFromSimMccMnc
von der zugehörigen MNO-Träger-ID ab.Benennen Sie die neue Datei in
carrier_config_carrierid_ carrierid _ carriername .xml
um, wobei carrierid “ einer „canonical_id
“ und carriername einemcarrier_name
incarrier_list.textpb
entsprechen muss