Notrufe sind eine grundlegende und wichtige Funktion für Geräte, da sie für Android-Nutzer funktionieren und gleichzeitig verschiedene Anforderungen von Mobilfunkanbietern und Aufsichtsbehörden auf der ganzen Welt erfüllen müssen. Das Android-Framework bietet Nutzern eine schnelle und sichere Möglichkeit, Notrufe abzusetzen.
Android 10 bietet eine verbesserte Unterstützung für Notruffunktionen, Wartung und Updates auf der lokalen Android-Plattform. Dazu wird eine detaillierte Notrufnummernliste von der SIM-Karte, dem Netzwerk, dem Modem und der Datenbank verwendet. Android 10 unterstützt auch Notrufe, die je nach Art des Rettungsdienstes, z. B. Polizei, Feuerwehr oder Krankenwagen, unterschiedlich sind. Android 10 bietet eine verbesserte Unterstützung für Geräte mit mehreren SIM-Karten, indem Notrufnummern aus mehreren Abos in der TelephonyManager API freigegeben werden.
In Android 10 mit Radio HAL 1.4 wird das Absetzen von Notrufen verbessert, indem Notrufe in der HAL-Schnittstelle von normalen Anrufen getrennt werden. So wird der Notrufpfad optimiert und Geräte können die in der Android-Datenbank konfigurierte Notrufnummer wählen.
Implementierung
Implementieren Sie die folgenden TelephonyManager- und Hardware-Schnittstellen-APIs, um die Funktionen für Notrufe und Notrufnummern zu implementieren.
TelephonyManager-APIs
Implementieren Sie die folgenden APIs:
- Implementieren Sie
getEmergencyNumberList, um für das auf der Notrufquelle basierende Absetzen von Notrufen die entsprechenden Notrufnummern abzurufen. Als Notrufquellen kommen Gebietsschema, SIM-Karten, Standardnummer, Modemkonfiguration, Android-Datenbank und Netzwerksignal infrage. Geben Sie für jede Notrufnummer die entsprechende Kategorie des Rettungsdienstes an, z. B. Polizei, Krankenwagen und Feuerwehr. - Implementieren Sie
isEmergencyNumber, um festzustellen, ob eine Telefonnummer eine Notrufnummer ist. - Implementieren Sie
isPotentialEmergencyNumber, um eine Nummer als Notrufnummer zu identifizieren, wenn sie dieselben Anfangsziffern wie eine der Notrufnummern hat.
Die Werte für Notrufnummernquellen sind:
EMERGENCY_NUMBER_SOURCE_NETWORK_SIGNALING: Die Nummer stammt vom Netzwerksignal.EMERGENCY_NUMBER_SOURCE_SIM: Die Nummer stammt von der SIM-Karte.EMERGENCY_NUMBER_SOURCE_DATABASE: Die Nummer stammt aus der von der Plattform verwalteten Datenbank.EMERGENCY_NUMBER_SOURCE_MODEM_CONFIG: Die Nummer stammt aus der Modemkonfiguration.EMERGENCY_NUMBER_SOURCE_DEFAULT: Die Nummer ist standardmäßig verfügbar. Die Nummern 112 und 911 müssen immer verfügbar sein. Die Nummern 000, 08, 110, 999, 118 und 119 müssen verfügbar sein, wenn keine SIM vorhanden ist. Weitere Informationen finden Sie in 3GPP TS 22.101, Section 10: Emergency Calls.
Die Werte für Kategorien von Rettungsdiensten sind:
UNSPECIFIED: Allgemeiner Notruf, alle KategorienPOLICE: PolizeiAMBULANCE: KrankenwagenFIRE_BRIGADE: FeuerwehrMARINE_GUARD: SeenotrettungMOUNTAIN_RESCUE: BergrettungMIEC: manuell abgesetzter Notruf (Manually Initiated eCall)AIEC: automatisch abgesetzter Notruf (Automatically Initiated eCall)
Weitere Informationen finden Sie in 3GPP TS 22.101, Section 10: Emergency Calls.
Hardware-Schnittstellen-APIs
Implementieren Sie emergencyDial in IRadio.hal. Implementieren Sie emergencyDialResponse in IRadioResponse.hal, um eine Antwort mit Antworttyp, Seriennummer und Fehlerinformationen zu senden.
Um die aktuelle Liste der Notrufnummern zu melden, implementieren Sie currentEmergencyNumberList in IRadioIndication.hal. Implementieren Sie EmergencyNumber in types.hal. EmergencyNumber enthält Informationen zur Notrufnummer, einschließlich der Nummernadresse, des Mobile Country Code (MCC), der Mobilfunknetzkennzahl (Mobile Network Code, MNC), der Kategorie des Rettungsdienstes, des Emergency Uniform Resource Name (URN) und der Quelle der Notrufnummer.
Verwenden Sie EmergencyCallRouting, um anzugeben, wie ein Notruf behandelt wird. Ein Notruf kann je nach Bedarf über das Notruf-Routing oder das normale Anruf-Routing angefordert werden. Wenn dieser Wert UNKNOWN ist, wird das Routing auf der Basis der Implementierung entschieden.
Validierung
Führen Sie die folgenden CTS- und VTS-Tests aus, um Ihre Implementierung zu validieren.
CTS-Tests
VTS-Tests
Referenzen
Weitere Informationen zu den zugehörigen technischen Spezifikationen und Standards finden Sie hier:
- 3GPP TS 22.101, Section 10: Emergency Calls
- 3GPP TS 24.008, Section 9.2.13.4: Emergency Number List
- 3GPP TS 23.167, Section 6: Functional description
- 3GPP TS 24.503, Section 5.1.6.8.1: General
- RFC 5031: A Uniform Resource Name (URN) for Emergency and Other Well-Known Services