Dzwonienie alarmowe jest fundamentalną i kluczową funkcją urządzeń, ponieważ muszą one 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, korzystając z szczegółowej listy numerów alarmowych 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
Wdróż 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. Dla każdego numeru alarmowego określ odpowiednią kategorię służb ratunkowych, np. policja, pogotowie i 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
: numer 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 modemuEMERGENCY_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
: strażnik morskiMOUNTAIN_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 dokumentacji 3GPP TS 22.101.
Interfejsy API interfejsu sprzętowego
Wdróż funkcję 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 zgłosić aktualną listę numerów alarmowych, zaimplementuj currentEmergencyNumberList
w IRadioIndication.hal
. 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) oraz ź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 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, 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