27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Operatör kimliği
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Android 9 yüklü cihazlar, abonelik operatörü bilgilerini tanıyarak kimlik ve operatör adı sağlayabilir. Android, her operatör ve operatörün benzersiz operatör kimliği için eşleme kuralları içeren bir operatör kimliği veritabanı tutar. AOSP, operatör kimliği veritabanının içeriğini carrier_list.textpb
dosyasında içerir.
Birleştirilmiş veritabanı, operatörleri tanımlaması gereken uygulamalardaki yinelenen mantığı en aza indirir ve operatör tanımlama özelliklerinin gösterilmesini sınırlandırır.
Android, operatör tanımlamasının kapsamını ve doğruluğunu iyileştirmek için bant dışı ve operatör kimliği tablosu güncellemelerini destekler. Her güncelleme bir sürüm numarasıyla birlikte gelir ve AOSP'de yayınlanır.
Uygulama
Bant dışı güncellemeleri uygulamak isteyen kullanıcılar, carrier_list.pb
kodlu ikili dosyayı AOSP'den indirebilir. Tablonun okunabilir biçimini görüntülemek için carrier_list.textpb
adresine bakın.
Operatör kimliği tablosunu cihazın /data/misc/carrierid/
veri bölümüne yerleştirin. Operatör kimliği tablosu mevcut sürümden yeniyse cihaz, tabloyu operatör kimliği veritabanı sınıfında tutar.
Taşıyıcı kimliği veritabanındaki en güncel bilgiler, herkese açık yöntemler getSimCarrierId()
ve getSimCarrierIdName()
tarafından alınır.
Veritabanına operatör kimliği eklemek veya mevcut bir operatör kimliğini güncellemek için Operatör kimliği bilgileri formunu kullanarak istek gönderin.
İsteğiniz incelenir ve onaylanırsa değişiklik carrier_list.pb
adresindeki AOSP kod tabanına gönderilir.
Ardından güncellenmiş listeyi kopyalayıp özelleştirilmiş derlemenize dahil edebilirsiniz.
Operatör kimliklerini CarrierConfig ile entegre etme
Android 10'dan itibaren operatör yapılandırması, CarrierService
'dan operatöre özgü yapılandırmaları almak için anahtar olarak operatör kimliklerinin kullanılmasını destekler.
Operatör kimliklerini CarrierConfig
ile entegre etmenin avantajları şunlardır:
- Her operatör için tüm MCC/MNC çiftlerini tek bir konumda birleştirir ve yinelenen veya tutarsız verileri kaldırır.
- Her operatör için standart bir tanımlayıcı oluşturur ve belirsizliği ortadan kaldırır.
- Mobil sanal ağ operatörlerinin (MVNO'lar), mobil ağ operatörü (MNO) kapsamında yapılandırmalara sahip olmak yerine ayrı kimliklerle tanımlanmasına olanak tanır.
Yapılandırma verilerini operatör kimliklerine taşıma
MCC/MNC çiftlerinden operatör kimliklerine yapılandırma verilerini taşımak için aşağıdaki adımları uygulayın:
Tek bir operatördeki carrier_config_mccmnc.xml
dosyalarını gruplandırın.
MM, MNC ve MVNO bilgilerini belirli bir operatörle eşlemek için referans olarak carrier_list.textpb
kullanın.
Yapılandırmaları tek bir dosyada birleştirin.
(İsteğe bağlı) MNO'lardan veri devralın. MVNO'lar, eski carrier_config_mccmnc.xml
dosyasında MNO'lardan yapılandırmaları devralır. Operatör kimlikleri, MVNO'lar da dahil olmak üzere tüm operatörlerin özel bir yapılandırma dosyasına sahip olmasına olanak tanıdığından, taşıma sırasında MNO verilerinin eklenmesi önerilir.
Bir MVNO operatör kimliğinin yapılandırması yoksa getCarrierIdFromSimMccMnc
kullanarak yapılandırmayı MNO operatör kimliğinden alın.
Yeni dosyayı carrier_config_carrierid_carrierid_carriername.xml
olarak yeniden adlandırın. Bu durumda carrierid, carrier_list.textpb
dosyasında bir canonical_id
, carriername ise bir carrier_name
ile eşleşmelidir.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-07-26 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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)."]]