Urządzenia z systemem Android 9 mogą rozpoznawać informacje o operatorze subskrypcji w celu zapewnienia identyfikatora i nazwy operatora. Android utrzymuje bazę danych identyfikatorów przewoźników zawierającą reguły dopasowywania dla każdego operatora i jego unikalny identyfikator operatora. AOSP zawiera zawartość bazy danych identyfikatorów przewoźników w pliku carrier_list.textpb
. Ujednolicona baza danych minimalizuje powielanie logiki w aplikacjach, które muszą identyfikować operatorów, i ogranicza ekspozycję atrybutów identyfikujących przewoźników.
Aby poprawić zasięg i dokładność identyfikacji operatora, Android obsługuje aktualizacje tabel pozapasmowych i identyfikatorów operatorów. Każda aktualizacja ma numer wersji i jest publikowana w AOSP.
Realizacja
Użytkownicy, którzy chcą wdrożyć aktualizacje poza pasmem, mogą pobrać plik binarny carrier_list.pb
z AOSP. Aby wyświetlić czytelny format tabeli, zobacz carrier_list.textpb
.
Umieść tabelę identyfikatorów przewoźników na partycji /data/misc/carrierid/
data urządzenia. Jeśli tabela identyfikatorów przewoźników jest nowsza niż istniejąca wersja, urządzenie utrwala tę tabelę w klasie bazy danych identyfikatorów przewoźników . Najnowsze informacje z bazy identyfikatorów przewoźników pobierane są za pomocą publicznych metod getSimCarrierId()
i getSimCarrierIdName()
.
Dodawanie informacji o identyfikatorze przewoźnika do bazy danych
Aby dodać lub zaktualizować identyfikator przewoźnika do bazy danych, złóż wniosek za pomocą formularza danych identyfikacyjnych przewoźnika .
Twoja prośba zostanie rozpatrzona i jeśli zostanie zatwierdzona, zmiana zostanie przekazana do bazy kodu AOSP pod carrier_list.pb
. Następnie możesz skopiować zaktualizowaną listę i włączyć ją do dostosowanej kompilacji.
Integracja identyfikatorów przewoźników z CarrierConfig
Począwszy od Androida 10, konfiguracja operatora obsługuje używanie identyfikatorów przewoźników jako kluczy do pobierania konfiguracji specyficznych dla operatora z CarrierService
.
Integracja identyfikatorów przewoźników z CarrierConfig
ma następujące zalety:
- Konsoliduje wszystkie pary MCC/MNC dla każdego przewoźnika w jedną lokalizację, usuwając zduplikowane lub niespójne dane.
- Tworzy kanoniczny identyfikator dla każdego przewoźnika i usuwa niejednoznaczności.
- Umożliwia identyfikację operatorów wirtualnych sieci komórkowych (MVNO) za pomocą indywidualnych identyfikatorów zamiast konfiguracji w ramach operatora sieci komórkowej (MNO).
Migracja danych konfiguracyjnych do identyfikatorów przewoźników
Aby przeprowadzić migrację danych konfiguracyjnych z par MCC/MNC do identyfikatorów przewoźników, wykonaj następujące kroki:
Zgrupuj pliki
carrier_config_mccmnc.xml
z jednego przewoźnika. Użyj plikucarrier_list.textpb
jako odniesienia do mapowania informacji MCC, MNC i MVNO na konkretnego przewoźnika.Scal konfiguracje w jeden plik.
(Opcjonalnie) Dziedzicz dane od operatorów MNO. MVNO dziedziczą konfiguracje od MNO w starszym pliku
carrier_config_mccmnc.xml
. Ponieważ identyfikatory operatorów umożliwiają wszystkim operatorom, w tym MVNO, posiadanie dedykowanego pliku konfiguracyjnego, zaleca się uwzględnienie danych MNO podczas migracji.Jeśli konfiguracja dla identyfikatora operatora MVNO nie istnieje, pobierz konfigurację z jego identyfikatora operatora MNO za pomocą
getCarrierIdFromSimMccMnc
.Zmień nazwę nowego pliku na
carrier_config_carrierid_ carrierid _ carriername .xml
, gdzie carrierid musi odpowiadaćcanonical_id
, a carriername powinna odpowiadaćcarrier_name
wcarrier_list.textpb