Notfallhilfe implementieren

Für alle Mobilgeräte, die ab dem 1. Januar 2017 in Indien verkauft werden, muss eine Paniktaste, um die Anforderungen des indischen Telekommunikationsministeriums (DoT) zu erfüllen. Um diesen gesetzlichen Anforderungen gerecht zu werden, enthält Android eine Referenz der Funktion „Notfallhilfe“, mit der eine Paniktaste aktiviert wird, Android-Geräten

In Android 8.0 und höher ist diese Funktion standardmäßig aktiviert, muss in vorhandene Builds früherer Releases gepatcht werden. Dieses ist ausschließlich auf Geräte ausgerichtet, die auf dem indischen Markt verkauft werden. auf allen weltweit verkauften Geräten enthalten, da die Funktion keine Auswirkungen hat, außerhalb Indiens.

Beispiele und Quelle

Die Funktion „Notfallhilfe“ wird in der Open-Source-Version von Android implementiert. Projekt (AOSP) Frameworks/Basis Projekt arbeiten. Es ist im Hauptzweig verfügbar und ist standardmäßig in Android 8.0 und höher

Diese Funktion ist derzeit in den folgenden Zweigen und Commits verfügbar. Diese Informationen sollen es Geräteherstellern ermöglichen, das Patch notwendige Änderungen an ihren bestehenden Builds vornehmen. Gerätehersteller, die Implementieren Sie die AOSP-Referenzfunktion für Notfallangebote. Commits aus den entsprechenden Zweigen in eigene Builds erstellen.

Tabelle 1 Top-Empfehlungen für AOSP im Notfall Funktion

Branch Commits
Hauptnummer e0c3c66 Funktion für Notfallangebote hinzugefügt
42a4338 Übersetzungen für den String für Notfallaktionen
hinzugefügt 4df8d64 Das Problem, dass Notfallangebote auf Tablets angezeigt wurden, wurde behoben.
Nougat-Entwicklung e6680d9 Funktion für Notfallangebote hinzugefügt
95e1865 Übersetzungen für den String für Notfallaktionen
hinzugefügt a70bb89 Das Problem, dass Notfallangebote auf Tablets angezeigt wurden, wurde behoben.
Marshmallow-Dev cd22634 Funktion für Notfallangebote hinzugefügt
13f51c6 Übersetzungen für den String für Notfallaktionen
hinzugefügt 6531666 Das Problem, dass Notfallangebote auf Tablets angezeigt wurden, wurde behoben.
lollipop-mr1-dev 5fbc86b Funktion für Notfallangebote hinzugefügt
1b60879 Übersetzungen für den String für Notfallaktionen
hinzugefügt d74366f Das Problem, dass Notfallangebote auf Tablets angezeigt wurden, wurde behoben.

Implementierung

Mit der Funktion „Notfallhilfe“ werden keine Änderungen an den APIs vorgenommen, die über das Android Software Development Kit (SDK). Wenn diese Option aktiviert und aktiviert ist, verfügt über zwei Auslöser, mit denen ein Notruf an den Notruf ausgelöst werden kann. ist die einzige Notrufnummer, die in Indien verwendet wird und von den indischen DoT-Bestimmungen.

Ein Notruf wird durch eines der folgenden Elemente initiiert:

Halten Sie die Taste NOTFALL
auf der Sperrbildschirm
Sie tippen auf die Option Notfall
im Globales Aktionsmenü
Notfall
Schaltfläche
Abbildung 1: NOTFALL-Taste an Sperrbildschirm.
Notfall
Option
Abbildung 2: Notfallaktion aktiviert Globales Aktionsmenü (gedrückt durch langes Drücken der Ein/Aus-Taste)

Diese Funktion führt die folgenden internen Komponenten ein:

  • EmergencyAffordanceManager
    frameworks/base/core/java/com/android/internal/policy/EmergencyAffordanceManager.java
    
  • Notfallhilfe
    frameworks/base/services/core/java/com/android/server/emergency/EmergencyAffordanceService.java
    

EmergencyAffordanceManager

Der EmergencyAffordanceManager stellt eine interne API zur Verwendung der Erschwinglichkeitsfunktion Es bietet Methoden zum Einleiten des Notrufs und Abfrage während der Laufzeit, ob die Funktion aktiviert werden soll.

  • void performEmergencyCall() Initiiert einen Notruf.
  • boolean needsEmergencyAffordance() Bestimmt, ob das Feature aktiv sein.

Die Funktion kann zum Build-Zeitpunkt dauerhaft deaktiviert werden, indem die EmergencyAffordanceManager.ENABLED konstant zu false. Dies führt dazu, dass needsEmergencyAffordance() immer "false" zurückgibt. und verhindern, dass EmergencyAffordanceService gestartet wird.

Notfallhilfe

EmergencyAffordanceService ist ein Systemdienst, der überwacht, den Mobile Country Code (MCC) aller erkannten Mobilfunknetze und des Kundencenters der eingelegten SIM-Karten. Wenn eine der eingelegten SIM-Karten oder über ein Mobilfunknetz verfügen, das mit einem der indischen Kundencenter (404 oder 405) übereinstimmt, dann gilt das aktiviert. Die Funktion kann also auch in Indien aktiviert werden, keine SIM-Karte vorhanden ist. Es wird davon ausgegangen, dass das Mobilfunknetz Registrierung für Notrufe, auch wenn keine SIM-Karte eingelegt ist. Die Funktion bleiben aktiviert, bis Sie eine nicht für Indien ansässige SIM-Karte einlegen und keine Netzwerke ein übereinstimmendes Kundencenter-Konto haben.

Die folgenden Ressourcen und Einstellungen wirken sich auf das Verhalten des Notfalls aus. Erschwinglichkeitsfunktion Lautet der Konfigurationstyp:

  • Resource (Ressource): Eine interne Ressource, die definiert in frameworks/base/core/res/res/values/config.xml
  • Einstellung: Diese Einstellung wird in den Systemeinstellungen gespeichert. Dienstanbieter.

Tabelle 2: Einstellungen, die sich auf das Verhalten von Notfallangeboten auswirken Funktion

Konfigurationstyp Name Beschreibung
Ressource Konfigurationsnotrufnummer Die Telefonnummer, die bei einem Notruf automatisch gewählt wird initiiert.
Typ: String
Standardeinstellung: 112
Ressource config_emergency_mcc_codes Ein Array von Ganzzahlen, in denen die Kundencenter aufgeführt sind, in denen das Element aktiv sein soll.
Typ: Array von Ganzzahlen
Standard: {404,405}
Einstellung Notrufnummer Globale Einstellung überschreiben mit der Nummer, die im Notfall angerufen werden soll Angebotscharakter. Dies wirkt sich nur auf Debug-fähige Build-Images (Build-Images type ist userdebug oder eng). Dies ist nur für Testzwecke gedacht.
Typ: String
Standardeinstellung: nicht festgelegt
Einstellung Notfall_Angebot_erzwingen Globale Einstellung, mit der festgelegt wird, ob das Notfallangebot unabhängig von der Währung angezeigt werden soll des Gerätestatus. Dies ist nur für Testzwecke gedacht.
Typ: Boolesch (1 oder 0)
Standardeinstellung: nicht festgelegt --> 0

Notrufe aktivieren

Mit der Funktion für Notfallangebote wird der Anruf über die Telefon, sodass der Anruf bei aktivem Sperrbildschirm verbunden werden kann. Die Die Notruffunktion leitet Anrufe nur an die vom Radio Interface Layer (RIL) über die Systemeigenschaft:

  • ril.ecclist, wenn keine SIM-Karte eingelegt ist.
  • ril.ecclistSimSlotNumber, wenn eine SIM-Karte eingelegt ist und SimSlotNumber ist die Slot-ID des Abonnenten.

Gerätehersteller, die die Funktion für Notfallangebote nutzen, müssen sicherstellen, in Indien die 112 immer als Notrufnummer in der RIL aktivieren.

Zertifizierungsstufe

Beim Testen eines Debug-fähigen Builds kann die aufgerufene Nummer geändert werden mit dem folgenden Befehl:

adb shell settings put global emergency_affordance_number NUMBER_TO_CALL

Obwohl diese Einstellung für einen normalen Nutzer-Build festgelegt werden kann, wird sie ignoriert. Damit der Anruf verbunden werden kann, muss sich die Nummer in der Notfallliste befinden der von der RIL zur Verfügung gestellten Zahlen. Dies kann vorübergehend mit folgenden Einstellungen festgelegt werden: Befehl, der über eine Root-Shell auf einem Gerät zum Debuggen von Nutzern ausgeführt wird:

setprop ril.ecclist "$(getprop ril.ecclist),NUMBER_TO_CALL"

Mit dem folgenden Befehl können Sie auch selbst wenn kein indisches Mobilfunknetz vorhanden ist, erkannt oder es wird eine indische SIM-Karte eingelegt.

adb shell settings put global force_emergency_affordance 1

Es wird mindestens empfohlen, die folgenden Fälle zu testen:

  • Drücken Sie nach der Aktivierung lange die Taste NOTFALL Der Sperrbildschirm (Abbildung 1) ruft die angegebene Notrufnummer an.
  • Nach der Aktivierung wird das Element Notfall auf der globalen Aktion Das Menü wird angezeigt und durch Tippen wird ein Anruf an den angegebenen Notfall ausgelöst Nummer.
  • Die Funktion wird nicht aktiviert, wenn kein hat ein indisches Mobilfunknetz mit einer eingelegten SIM-Karte für nicht Indien gefunden.
  • Die Funktion wird auf dem Gerät aktiviert, wenn eine indische SIM-Karte verwendet wird. installiert ist, unabhängig von den erkannten Mobilfunknetzen.
  • Die Funktion wird auf dem Gerät aktiviert, wenn eines indischen Mobilfunknetzes, unabhängig von den eingelegten SIM-Karten.

Wenn ein Gerät mehrere SIM-Karten unterstützt, sollten die Tests sicherstellen, dass die SIM-Kundencenter-Erkennung in jedem SIM-Steckplatz korrekt funktioniert. Der Notfall Die Erschwinglichkeitsfunktion unterliegt nicht der Android-Kompatibilität, daher gibt es keine CTS-Tests (Compatibility Test Suite) dafür

Häufig gestellte Fragen

F: Die Notrufnummer 112 wurde in folgendem Land noch nicht in Betrieb genommen: Indien. Soll sie trotzdem verwendet werden?

112 ist die Nummer, die in Indien für die öffentliche Sicherheit (Public Safety Answering) Notrufzentrale (PSAP) gemäß Definition der Integrierten Notfallkommunikation und -abwehr Systems (IECRS). Bis die PSAP-Beauftragung in Betrieb genommen wird, werden alle Anrufe an 112 weitergeleitet. an die bestehende Notrufnummer 100 zu richten (dies liegt jedoch in der Verantwortung der Mobilfunkanbieter, nicht Android).

F: Was ist mit anderen Auslösern wie dreifachem Drücken? die Ein/Aus-Taste drücken?

Gerätehersteller können zusätzliche Trigger implementieren. Sie können jedoch während das indische DoT es erlaubt, dreimal auf die Ein/Aus-Taste zu tippen, Trigger wird in der AOSP-Referenzimplementierung nicht unterstützt da einige weit verbreitete Apps (z. B. die Kamera-App) mit Touch-Gesten für die Ein/Aus-Taste arbeiten Dazu gehören wiederholtes Drücken der Ein/Aus-Taste. Solche Apps können die Notruffunktion gestört oder der Nutzer versehentlich den Paniktaste drücken, während versucht wird, Aktionen in diesen Apps auszulösen.