W Androidzie 7.0 funkcje związane z powiadomieniami o połączeniach są przenoszone z usługi systemowej telekomunikacji na platformie Androida do aplikacji Telefon. Do tej pory wyświetlanie powiadomień o połączeniach było podzielone między Telecom i domyślną aplikację Telefon, co powodowało niespójności w ich działaniu. W Androidzie 7.0 za obsługę powiadomień o połączeniach odpowiada Telefon.
Działanie w Androidzie 6.x i starszych
We wcześniejszych wersjach Androida obowiązki dotyczące Telecom i Dialer zostały podzielone w sposób opisany poniżej:
Funkcjonalność | Wykonane przez Telecom | Wykonano przez Telefon |
---|---|---|
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 oczekiwania na wiadomość (połączenie z pocztą głosową) | Tak (telefonia) | Nie |
Powiadomienia wizualnej poczty głosowej | Nie | Tak |
Przykłady niespójnego zachowania spowodowanego tym podziałem odpowiedzialności:
- Za włączenie dzwonka/wibracji odpowiadał operator telekomunikacyjny, ale za wyświetlenie powiadomienia o połączeniu przychodzącym odpowiadał telefon. Jeśli telefon uruchamia się powoli, może to spowodować, że telefon zadzwoni na kilka sekund przed wyświetleniem powiadomienia o połączeniu przychodzącym.
- Za wyświetlanie powiadomień o nieodebranych połączeniach odpowiada firma Telecom. Ponieważ funkcje zastrzeżone (takie jak ID rozmówcy Google) nie działają w przypadku tych powiadomień, może to powodować niespójności między powiadomieniami telekomunikacyjnymi a interfejsem Telefonu (np. rejestr połączeń).
Działanie w Androidzie 7.0 i nowszych
Nowe funkcje są wdrażane w aplikacji Android Open Source Project (AOSP) Dialer. Szczegółowe informacje znajdziesz w tej dokumentacji:
- Powiadomienia o nieodebranych połączeniach
Telecom/src/com/android/server/telecom/ui/ rozbieżne połączenieNotifierImpl.java
Dialer/android/dialer/calllog/}{/WithCall NotificationReceiver.java
Dialer/android/dialer/calllog/ MissingCallNotifier.java - Odtwarzanie dzwonków:
frameworks/base/tel⎓/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. - 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 na Androidzie 12 lub nowszym
W przypadku urządzeń z Androidem 12 lub nowszym, aby zapewnić użytkownikom spójne wrażenia podczas połączeń, zalecamy używanie stylu powiadomień
CallStyle
w przypadku połączeń przychodzących i trwających.
Więcej informacji znajdziesz w artykule o
nowych powiadomieniach o połączeniach telefonicznych, które pozwalają określić priorytet połączeń przychodzących.
Implementacja
Implementacje urządzeń mogą wymagać zaktualizowania komponentów usług telekomunikacyjnych/telefonicznych, które udostępniają interfejsy API dostępne do użycia przez domyślny telefon.