Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Carrier Identification

Устройства под управлением Android 9 могут распознавать информацию об операторе подписки для предоставления идентификатора и имени оператора. Android поддерживает базу данных идентификаторов операторов связи с соответствующими правилами для каждого оператора и его уникальным идентификатором. AOSP включает содержимое базы данных идентификаторов операторов связи в файл carrier_list.textpb . Единая база данных сводит к минимуму повторяющуюся логику в приложениях, которым необходимо идентифицировать операторов связи, и ограничивает раскрытие атрибутов идентификации оператора.

Чтобы улучшить покрытие и точность идентификации оператора связи, Android поддерживает внеполосное обновление таблиц идентификаторов операторов связи. Каждое обновление имеет номер версии и публикуется в AOSP.

Реализация

Пользователи, желающие внедрить обновления вне диапазона, могут загрузить carrier_list.pb файл carrier_list.pb из AOSP. Чтобы просмотреть читаемый формат таблицы, см. carrier_list.textpb .

Поместите таблицу идентификаторов операторов связи в раздел /data/misc/carrierid/ data устройства. Если таблица идентификаторов операторов связи новее, чем существующая версия, устройство сохраняет таблицу в классе базы данных идентификаторов операторов связи . Самая последняя информация из базы данных идентификаторов перевозчиков getSimCarrierId() общедоступными методами getSimCarrierId() и getSimCarrierIdName() .

Добавление информации об идентификаторе оператора связи в базу данных

Чтобы добавить или обновить идентификатор оператора связи в базе данных, отправьте запрос, используя форму идентификации оператора связи .

Ваш запрос рассматривается, и в случае одобрения изменение carrier_list.pb в базу кода AOSP на сайте carrier_list.pb . Затем вы можете скопировать обновленный список и включить его в свою индивидуальную сборку.

Интеграция идентификаторов операторов связи с CarrierConfig

Начиная с Android 10, конфигурация оператора связи поддерживает использование идентификаторов оператора связи в качестве ключей для получения конфигураций CarrierService из CarrierService .

Интеграция идентификаторов операторов связи с CarrierConfig имеет следующие преимущества:

  • Объединяет все пары MCC / MNC для каждого оператора связи в одном месте, удаляя повторяющиеся или несогласованные данные.
  • Создает канонический идентификатор для каждого оператора связи и устраняет двусмысленность.
  • Позволяет операторам мобильных виртуальных сетей (MVNO) идентифицироваться с помощью индивидуальных идентификаторов вместо того, чтобы иметь конфигурации как часть оператора мобильной сети (MNO).

Перенос данных конфигурации в идентификаторы операторов связи

Чтобы перенести данные конфигурации из пар MCC / MNC в идентификаторы операторов связи, выполните следующие действия:

  1. carrier_config_mccmnc.xml файлы carrier_config_mccmnc.xml с одного носителя вместе. Используйте carrier_list.textpb как ссылку для сопоставления информации MCC, MNC и MVNO с конкретным оператором связи.

  2. Объедините конфигурации в один файл.

  3. (Необязательно) Наследовать данные от операторов мобильной связи. MVNO наследуют конфигурации от MNO в устаревшем файле carrier_config_mccmnc.xml . Поскольку идентификаторы оператора связи позволяют всем операторам связи, включая MVNO, иметь специальный файл конфигурации, рекомендуется включать данные MNO во время миграции.

  4. Если конфигурация для идентификатора оператора связи MVNO не существует, получите конфигурацию из идентификатора оператора getCarrierIdFromSimMccMnc MNO с помощью getCarrierIdFromSimMccMnc .

  5. Переименуйте новый файл как carrier_config_carrierid_ carrierid _ carriername .xml где carrierid должен соответствовать canonical_id а carriername должно соответствовать имени carrier_name в carrier_list.textpb