Wybieranie numerów alarmowych jest podstawową i kluczową funkcją urządzeń, ponieważ musi działać na urządzeniach z Androidem, a jednocześnie spełniać różne wymagania operatorów i przepisy na całym świecie. Platforma Androida 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 dzięki szczegółowej liście numerów alarmowych z karty SIM, sieci, modemu i bazy danych. Android 10 obsługuje też połączenia alarmowe w zależności od rodzaju służb ratunkowych, takich jak policja, straż pożarna czy pogotowie. Android 10 zapewnia lepszą obsługę urządzeń z wieloma kartami SIM, udostępniając numery alarmowe z wielu subskrypcji w interfejsie TelephonyManager API.
W Androidzie 10 z Radio HAL 1.4 połączenia alarmowe są ulepszone przez oddzielenie ich od zwykłych połączeń w interfejsie HAL, co optymalizuje ścieżkę połączeń alarmowych i umożliwia urządzeniom wybieranie odpowiedniego numeru alarmowego skonfigurowanego w bazie danych Androida.
Implementacja
Aby wdrożyć funkcje połączeń alarmowych i numerów alarmowych, zaimplementuj te interfejsy APITelephonyManager
i interfejsy sprzętowe:
Interfejsy TelephonyManager API
Wdróż te interfejsy API:
- Zaimplementuj
getEmergencyNumberList
aby uzyskać prawidłowe numery alarmowe na potrzeby połączeń alarmowych na podstawie źródła numeru alarmowego, w tym ustawień regionalnych, kart SIM, domyślnych, modemu, bazy danych Androida i sieci. W przypadku każdego numeru alarmowego określ odpowiednią kategorię służb ratunkowych, np. policja, pogotowie ratunkowe i straż pożarna. - Zaimplementuj
isEmergencyNumber
, aby sprawdzić, czy numer telefonu jest numerem alarmowym. - Zaimplementuj funkcję
isPotentialEmergencyNumber
do identyfikowania numeru jako alarmowego, jeśli ma on takie same cyfry początkowe jak którykolwiek z numerów alarmowych.
Źródła numerów alarmowych to:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING
: Numer pochodzi z sygnału sieci.EMERGENCY_NUMBER_SOURCE_SIM
: numer pochodzi z karty SIMEMERGENCY_NUMBER_SOURCE_DATABASE
: liczba pochodzi z bazy danych utrzymywanej przez platformęEMERGENCY_NUMBER_SOURCE_MODEM_CONFIG
: numer pochodzi z konfiguracji modemuEMERGENCY_NUMBER_SOURCE_DEFAULT
: numer jest dostępny domyślnie. Numery 112 i 911 muszą być zawsze dostępne. Numery 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 3GPP TS 22.101.
Wartości kategorii usług ratowniczych to:
UNSPECIFIED
: ogólne połączenie alarmowe, wszystkie kategoriePOLICE
: PolicjaAMBULANCE
: Karetka pogotowiaFIRE_BRIGADE
: straż pożarnaMARINE_GUARD
: Marine GuardMOUNTAIN_RESCUE
: Ratownictwo górskieMIEC
: ręcznie zainicjowane połączenie eCall (MIeC)AIEC
: automatycznie inicjowane połączenie eCall (AIeC)
Więcej informacji znajdziesz w sekcji 10: Połączenia alarmowe w 3GPP TS 22.101.
Interfejsy API sprzętu
Wdróż funkcję emergencyDial
w języku IRadio.hal
. Zaimplementuj
emergencyDialResponse
w IRadioResponse.hal
, aby wysłać odpowiedź z typem odpowiedzi, numerem seryjnym i informacjami o błędach.
Aby zgłosić aktualną listę numerów alarmowych, zaimplementuj
currentEmergencyNumberList
w IRadioIndication.hal
. Zaimplementuj
EmergencyNumber
w types.hal
, który zawiera informacje o numerze alarmowym, w tym adres numeru, kod kraju sieci komórkowej (MCC), kod sieci komórkowej (MNC), kategorię służb ratunkowych, nazwę zasobu alarmowego (URN) i źródło numeru alarmowego.
Aby wskazać, jak jest obsługiwane połączenie alarmowe, użyj właściwości EmergencyCallRouting
.
Połączenie alarmowe można zainicjować za pomocą routingu połączeń alarmowych lub zwykłego routingu połączeń, w zależności od potrzeb. Jeśli ta wartość to UNKNOWN
, routing jest określany 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 znajdziesz w tych artykułach:
- 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, Section 6: Functional description
- 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