Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mobilfunkanbieter-Identifikation
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Geräte mit Android 9 können Informationen zum Mobilfunkanbieter des Abos erkennen, um eine ID und einen Namen des Mobilfunkanbieters anzugeben. Android verwaltet eine Datenbank mit Mobilfunkanbieter-IDs mit Abgleichsregeln für jeden Mobilfunkanbieter und seine eindeutige Mobilfunkanbieter-ID. AOSP enthält den Inhalt der Mobilfunkanbieter-ID-Datenbank in der Datei carrier_list.textpb
.
Die einheitliche Datenbank minimiert die doppelte Logik in Apps, in denen Mobilfunkanbieter identifiziert werden müssen, und schränkt die Offenlegung von Attributen ein, die Mobilfunkanbieter identifizieren.
Um die Abdeckung und Genauigkeit der Mobilfunkanbietererkennung zu verbessern, unterstützt Android Out-of-Band- und Mobilfunkanbieter-ID-Tabellenupdates. Jedes Update hat eine Versionsnummer und wird im AOSP veröffentlicht.
Implementierung
Nutzer, die Out-of-Band-Updates implementieren möchten, können die carrier_list.pb
-Binary von AOSP herunterladen. Das lesbare Format der Tabelle finden Sie unter carrier_list.textpb
.
Platzieren Sie die Tabelle mit der Mobilfunkanbieter-ID in der Datenpartition /data/misc/carrierid/
des Geräts. Wenn die Tabelle mit der Mobilfunkanbieter-ID neuer als die vorhandene Version ist, speichert das Gerät die Tabelle in der Datenbankklasse für Mobilfunkanbieter-IDs.
Die neuesten Informationen aus der Carrier-ID-Datenbank werden von den öffentlichen Methoden getSimCarrierId()
und getSimCarrierIdName()
abgerufen.
Wenn Sie der Datenbank eine Mobilfunkanbieter-ID hinzufügen oder aktualisieren möchten, reichen Sie einen Antrag über das Antragsformular für Mobilfunkanbieter-IDs ein.
Ihr Antrag wird geprüft und bei Genehmigung wird die Änderung an die AOSP-Codebasis unter carrier_list.pb
gesendet.
Sie können die aktualisierte Liste dann kopieren und in Ihren benutzerdefinierten Build einfügen.
Mobilfunkanbieter-IDs in CarrierConfig einbinden
Ab Android 10 unterstützt die Mobilfunkanbieterkonfiguration die Verwendung von Mobilfunkanbieter-IDs als Schlüssel, um anbieterspezifische Konfigurationen von CarrierService
abzurufen.
Die Integration von Mobilfunkanbieter-IDs in CarrierConfig
bietet folgende Vorteile:
- Alle MCC/MNC-Paare für jeden Mobilfunkanbieter werden an einem einzigen Ort zusammengeführt und doppelte oder inkonsistente Daten werden entfernt.
- Erstellt eine kanonische Kennung für jeden Mobilfunkanbieter und beseitigt Unklarheiten.
- Ermöglicht es, Mobilfunkanbieter mit individuellen IDs zu identifizieren, anstatt Konfigurationen als Teil eines Mobilfunkanbieters zu verwenden.
Konfigurationsdaten zu Mobilfunkanbieter-IDs migrieren
So migrieren Sie Konfigurationsdaten von MCC/MNC-Paaren zu Mobilfunkanbieter-IDs:
Gruppieren Sie die carrier_config_mccmnc.xml
-Dateien eines einzelnen Mobilfunkanbieters.
Verwenden Sie carrier_list.textpb
als Referenz, um die Informationen zu Mobilfunkanbieter, Mobilfunknetzbetreiber und Mobilfunkanbieter ohne Vertrag einem bestimmten Mobilfunkanbieter zuzuordnen.
Fügen Sie die Konfigurationen in eine einzige Datei zusammen.
Optional: Daten von Mobilfunkanbietern übernehmen. MVNOs übernehmen Konfigurationen von Mobilfunkanbietern in der alten carrier_config_mccmnc.xml
-Datei. Da mit Mobilfunkanbieter-IDs alle Mobilfunkanbieter, einschließlich MVNOs, eine eigene Konfigurationsdatei haben können, wird empfohlen, bei der Migration MNO-Daten anzugeben.
Wenn die Konfiguration für eine MVNO-Mobilfunkanbieter-ID nicht vorhanden ist, holen Sie die Konfiguration mit getCarrierIdFromSimMccMnc
über die MNO-Mobilfunkanbieter-ID ab.
Benennen Sie die neue Datei in carrier_config_carrierid_carrierid_carriername.xml
um. Dabei muss carrierid einem canonical_id
und carriername einem carrier_name
in carrier_list.textpb
entsprechen.
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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)."]]