Baza danych numerów alarmowych na Androidzie

Android zawiera bazę danych numerów alarmowych, która zawiera numer wersji bazy danych oraz listę numerów alarmowych z kategoriami służb ratunkowych (np. policja, straż pożarna, pogotowie ratunkowe) i odpowiednim krajem. Ta baza danych to jedno ze źródeł danych umożliwiających identyfikację i dostarczanie numerów alarmowych w Androidzie.

Baza danych numerów alarmowych w Androidzie
Rysunek 1. System bazy danych numerów alarmowych na Androidzie

Plik AOSP

AOSP udostępnia plik bazy danych numerów alarmowych znajdujący się w folderze packages/services/Telephony/ecc/output/eccdata. Zawartość bazy danych można odczytać w pliku packages/services/Telephony/ecc/input/eccdata.txt.

Pobrana baza danych

Od Androida 11 i nowszych system obsługuje pobraną bazę danych numerów alarmowych, którą można aktualizować za pomocą aktualizacji OTA. Dzięki temu urządzenia mają dostęp do najnowszej wersji bazy danych i najnowszych informacji.

Aktualizuj informacje

Aby dodać lub zaktualizować informacje w bazie danych numerów alarmowych, podaj szczegóły swojej prośby, zgłaszając błąd w komponencie Networking.

Jeśli Twoja prośba zostanie zatwierdzona, Android może zaktualizować bazę danych. Następnie możesz pobrać aplikację na urządzenia. Android może też publikować zmiany w skonfigurowanej bazie danych numerów alarmowych w AOSP.

Implementacja

Wdrożenie bazy danych numerów alarmowych

Aby wdrożyć bazę danych numerów alarmowych:

  1. Utwórz plik tekstowy zgodny z formatem bazy danych numerów alarmowych: packages/services/Telephony/ecc/conversion_toolset_v1/proto/protobuf_ecc_data.proto.
  2. Przekonwertuj plik tekstowy na plik bazy danych z numerami alarmowymi za pomocą narzędzia do konwersji dostępnego pod adresem packages/services/Telephony/ecc/README.md.

Włącz aktualizacje

Aby umożliwić aktualizację pobranej bazy danych numerów alarmowych, zastosuj mechanizm aktualizacji OTA, który spowoduje pobranie przez urządzenie bazy danych numerów alarmowych dostępnej na serwerze. Użyj partycji, takiej jak /data/misc/emergencynumberdb, aby odczytać i zapisać pobraną bazę danych z numerami alarmowymi na Androidzie.

Aby zaimplementować pobraną bazę danych numerów alarmowych, użyj tych interfejsów API:

Weryfikacja

Aby przetestować implementację pobranej bazy danych numerów alarmowych, upewnij się, że pobrana baza danych jest zwracana jako część wyniku funkcji getEmergencyNumberList, a numery są rozpoznawane jako numery alarmowe, gdy wywołana zostanie funkcja isEmergencyNumber.