Android 7.0 verschiebt Funktionen im Zusammenhang mit Anrufbenachrichtigungen vom Telecom-Systemdienst in der Android-Plattform in die Dialer-Anwendung. Zuvor war die Verantwortung für die Anzeige anrufbezogener Benachrichtigungen zwischen Telecom und der Standard-Dialer-App aufgeteilt, was zu Inkonsistenzen im Verhalten führte. In Android 7.0 übernimmt der Dialer die gesamte Verantwortung für die Handhabung von Anrufbenachrichtigungen.
Verhalten in Android 6.x und früher
In früheren Android-Versionen haben Telecom und Dialer die Verantwortlichkeiten wie unten beschrieben aufgeteilt:
Funktionalität | Erledigt von der Telekom | Fertig von Dialer |
---|---|---|
Benachrichtigung über eingehende Anrufe | Ja (Klingeln, Vibrieren) | Ja (Benachrichtigungsanzeige, Anrufer-ID) |
An Voicemail senden | Jawohl | Nein |
Benutzerdefinierter Klingelton | Jawohl | Nein |
Benachrichtigungen über verpasste Anrufe | Jawohl | Nein |
Nachrichtenanzeige (Voicemail anrufen) | Ja (Telefonie) | Nein |
Visuelle Voicemail-Benachrichtigungen | Nein | Jawohl |
Beispiele für inkonsistentes Verhalten, das durch diese Verantwortungsaufteilung verursacht wurde, waren:
- Die Telekom war dafür verantwortlich, den Klingelton/Vibrator zu starten, aber der Dialer war dafür verantwortlich, die Benachrichtigung über eingehende Anrufe anzuzeigen. Wenn der Dialer langsam hochfährt, kann dies dazu führen, dass das Klingeln einige Sekunden beginnt, bevor die Benachrichtigung über einen eingehenden Anruf angezeigt wird.
- Telecom war für die Anzeige von Benachrichtigungen über verpasste Anrufe verantwortlich. Da proprietäre Funktionen (z. B. die Google-Anrufer-ID) bei diesen Benachrichtigungen nicht funktionieren, kann dies zu Inkonsistenzen zwischen Telekom-Benachrichtigungen und der Dialer-Benutzeroberfläche (z. B. dem Anrufprotokoll) führen.
Verhalten in Android 7.0 und höher
Der Dialer des Android Open Source Project (AOSP) implementiert die neue Funktionalität. Einzelheiten finden Sie in der folgenden Dokumentation:
- Benachrichtigungen über verpasste Anrufe
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Klingeltöne abspielen:
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Dialer/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - VVM-Benachrichtigungen
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telefonie/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
Benachrichtigungsstil für Anrufe in Android 12 oder höher
Für Geräte mit Android 12 oder höher empfehlen wir, um eine konsistente Benutzererfahrung für Anrufe zu bieten, dass Apps den CallStyle
Benachrichtigungsstil für eingehende und laufende Anrufe verwenden. Weitere Informationen finden Sie unter Benachrichtigungen über neue Telefonanrufe, die die Rangfolge eingehender Anrufe berücksichtigen .
Implementierung
Geräteimplementierer müssen möglicherweise Telekommunikations-/Telefoniekomponenten aktualisieren, die APIs verfügbar machen, die für die Verwendung durch den Standardwähler verfügbar sind.