Numery alarmowe są fundamentalne i kluczowe dla urządzeń, ponieważ muszą działać dla użytkowników Androida, a jednocześnie spełniać różne wymagania operatorów i regulacji na całym świecie. Platforma Android zapewnia użytkownikom szybkie i bezpieczne połączenia alarmowe.
Android 10 zapewnia lepszą obsługę funkcji połączeń alarmowych, konserwacji i aktualizacji na lokalnej platformie Androida. Do tego celu służy szczegółowa lista numerów alarmowych pobrana z karty SIM, sieci, modemu i bazy danych. Android 10 obsługuje też połączenia alarmowe w zależności od typu służb ratunkowych, takich jak policja, straż pożarna czy pogotowie ratunkowe. Android 10 zapewnia lepszą obsługę urządzeń z wieloma kartami SIM dzięki udostępnianiu numerów alarmowych z różnych abonamentów w interfejsie TelephonyManager API.
W Androidzie 10 z interfejsem HAL 1.4 połączenia alarmowe zostały ulepszone dzięki oddzieleniu połączeń alarmowych od zwykłych połączeń w interfejsie HAL. Pozwala to zoptymalizować ścieżkę połączenia alarmowego i umożliwia urządzeniom wybieranie odpowiedniego numeru alarmowego skonfigurowanego w bazie danych Androida.
Implementacja
Aby zaimplementować funkcje dzwonienia alarmowego i numeru alarmowego, zaimplementuj te interfejsy API:
TelephonyManager
i interfejsy API interfejsu sprzętowego.
Interfejsy API TelephonyManager
Wdrażaj te interfejsy API:
- Wdrożyć
getEmergencyNumberList
, aby uzyskać prawidłowe numery alarmowe do wykonywania połączeń alarmowych na podstawie źródła numeru alarmowego, w tym lokalizacji, karty SIM, domyślnego modemu, bazy danych Androida i sieci. W przypadku każdego numeru alarmowego określ odpowiednią kategorię służb ratunkowych, np. policja, pogotowie ratunkowe, straż pożarna. - Zaimplementuj
isEmergencyNumber
, aby określić, czy numer telefonu jest numerem alarmowym. - Zaimplementuj
isPotentialEmergencyNumber
, aby zidentyfikować numer jako numer alarmowy, jeśli ma on te same początkowe cyfry co dowolny z numerów alarmowych.
Wartości źródeł numerów alarmowych to:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: liczba pochodzi z sygnału sieciEMERGENCY_NUMBER_SOURCE_SIM
: numer z karty SIMEMERGENCY_NUMBER_SOURCE_DATABASE
: liczba pochodzi z bazy danych platformyEMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: numer pochodzi z konfiguracji modemu.EMERGENCY_NUMBER_SOURCE_DEFAULT
: numer jest dostępny domyślnie. Numery 112 i 911 muszą być zawsze dostępne. 000, 08, 110, 999, 118 i 119 muszą być dostępne, gdy nie ma karty SIM. Więcej informacji znajdziesz w sekcji 10: Połączenia alarmowe w specyfikacji 3GPP TS 22.101.
Wartości kategorii usług alarmowych:
UNSPECIFIED
: ogólne połączenie alarmowe, wszystkie kategoriePOLICE
: policjaAMBULANCE
: karetka pogotowiaFIRE_BRIGADE
: straż pożarnaMARINE_GUARD
: Marine GuardMOUNTAIN_RESCUE
: Ratownictwo górskieMIEC
: eCall inicjowany ręcznie (MIeC)AIEC
: automatycznie wywołane wezwanie pomocy (AIeC)
Więcej informacji znajdziesz w sekcji 10: Połączenia alarmowe w 3GPP TS 22.101.
Interfejsy API interfejsu sprzętowego
Wdróż emergencyDial
w IRadio.hal
. W pliku IRadioResponse.hal
zaimplementuj funkcję emergencyDialResponse
, aby wysyłać odpowiedź z typem odpowiedzi, numerem seryjnym i informacjami o błędzie.
Aby podać aktualną listę numerów alarmowych, w pliku IRadioIndication.hal
zastosuj kod currentEmergencyNumberList
. Wprowadź EmergencyNumber
w types.hal
, który zawiera informacje o numerze alarmowym, w tym adres numeru, kod kraju komórkowego (MCC), kod sieci komórkowej (MNC), kategorię służby alarmowej, nazwę zasobu numeru alarmowego (URN) i źródło numeru alarmowego.
Aby wskazać, jak ma być obsługiwane połączenie alarmowe, użyj właściwości EmergencyCallRouting
.
W razie potrzeby można poprosić o wykonanie połączenia alarmowego za pomocą routingu alarmowego lub zwykłego routingu połączeń. Jeśli jest to UNKNOWN
, kierowanie jest ustalane na podstawie implementacji.
Weryfikacja
Aby sprawdzić implementację, uruchom te testy CTS i VTS.
Testy CTS
Testy VTS
Pliki referencyjne
Dodatkowe informacje o powiązanych specyfikacjach technicznych i standardach:
- 3GPP TS 22.101, sekcja 10: Połączenia alarmowe
- 3GPP TS 24.008, sekcja 9.2.13.4: Lista numerów alarmowych
- 3GPP TS 23.167, sekcja 6: Opis funkcjonalny
- 3GPP TS 24.503, sekcja 5.1.6.8.1: Ogólne
- RFC 5031: A Uniform Resource Name (URN) for Emergency and Other Well-Known Services