W Androidzie 7.0 funkcje związane z powiadomieniami o połączeniach zostały przeniesione z usługi systemowej Telekomu na platformie Android do aplikacji Dialer. Wcześniej odpowiedzialność za wyświetlanie powiadomień związanych z połączeniami była rozdzielana między Telekom i domyślną aplikację Dialer, co powodowało niespójności w zachowaniu. W Androidzie 7.0 aplikacja Dialer przejmuje całą odpowiedzialność za obsługę powiadomień o wybieraniu.
Zachowanie w Androidzie 6.x i starszych
W wcześniejszych wersjach Androida odpowiedzialność między operatorem telekomunikacyjnym a dialerem była podzielona w następujący sposób:
Funkcjonalność | Done by Telecom | Zrobione przez Dialer |
---|---|---|
Powiadomienie o połączeniu przychodzącym | Tak (dzwonek, wibracje) | Tak (wyświetlanie powiadomień, ID rozmówcy) |
Przekierowanie na pocztę głosową | Tak | Nie |
Dzwonek niestandardowy | Tak | Nie |
Powiadomienia o nieodebranych połączeniach | Tak | Nie |
Wskaźnik wiadomości oczekującej (poczta głosowa) | Tak (telefonia) | Nie |
Wizualne powiadomienia o poczcie głosowej | Nie | Tak |
Przykłady niespójnego działania spowodowanego tym podziałem odpowiedzialności:
- Telekomunikacja odpowiadała za uruchamianie dzwonka/wibracji, ale wybieranie było odpowiedzialne za wyświetlanie powiadomienia o połączeniu przychodzącym. Jeśli wybieranie numeru trwa długo, dzwonek może zacząć dzwonić kilka sekund przed wyświetleniem powiadomienia o nadchodzącym połączeniu.
- Powiadomienia o nieodebranych połączeniach wyświetla operator telekomunikacyjny. Funkcje własne (np. identyfikator rozmówcy Google) nie działają w tych powiadomieniach, co może powodować niezgodności między powiadomieniami operatora telekomunikacyjnego a interfejsem Dialer (np. dziennika połączeń).
Zachowanie w Androidzie 7.0 i nowszych
Dialer w ramach Projektu Android Open Source (AOSP) obsługuje nową funkcjonalność. Szczegółowe informacje znajdziesz w tych dokumentach:
- Powiadomienia o nieodebranych połączeniach
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Odtwarzanie dzwonków:
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 - Powiadomienia VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com.android.dialer.calllog.DefaultVoicemailNotifier.java
Styl powiadomień o połączeniach w Androidzie 12 lub nowszym
Aby zapewnić użytkownikom spójne wrażenia podczas połączeń, zalecamy, aby aplikacje na urządzeniach z Androidem 12 lub nowszym używały stylu powiadomień
CallStyle
w przypadku połączeń przychodzących i trwających.
Więcej informacji znajdziesz w
nowym artykule na temat powiadomień o połączeniach telefonicznych, które umożliwiają ustalanie ważności przychodzących połączeń.
Implementacja
Implementatorzy urządzeń mogą potrzebować aktualizacji komponentów telekomunikacyjnych/telefonicznych, które udostępniają interfejsy API do użycia przez domyślną aplikację Dialer.