Android 7.0 memindahkan fungsionalitas terkait notifikasi panggilan dari layanan sistem Telecom di platform Android ke aplikasi Dialer. Sebelumnya, tanggung jawab untuk menampilkan pemberitahuan terkait panggilan dibagi antara Telecom dan aplikasi Dialer default, sehingga menyebabkan perilaku yang tidak konsisten. Di Android 7.0, Dialer memikul semua tanggung jawab untuk menangani notifikasi panggilan.
Perilaku di Android 6.x dan sebelumnya
Pada rilis Android sebelumnya, Telecom dan Dialer membagi tanggung jawab seperti dijelaskan di bawah:
Kegunaan | Dilakukan oleh Telekomunikasi | Dilakukan oleh Dialer |
---|---|---|
Notifikasi panggilan masuk | Ya (berdering, bergetar) | Ya (tampilan notifikasi, ID penelepon) |
Kirim ke pesan suara | Ya | TIDAK |
Nada dering khusus | Ya | TIDAK |
Notifikasi panggilan tak terjawab | Ya | TIDAK |
Indikator Tunggu Pesan (panggilan pesan suara) | Ya (telepon) | TIDAK |
Pemberitahuan pesan suara visual | TIDAK | Ya |
Contoh perilaku tidak konsisten yang disebabkan oleh pembagian tanggung jawab ini antara lain:
- Telecom bertanggung jawab untuk memulai dering/vibrator, tetapi dialer bertanggung jawab untuk menampilkan pemberitahuan panggilan masuk. Jika pemanggil lambat untuk memulai, hal ini dapat mengakibatkan dering mulai beberapa detik sebelum pemberitahuan panggilan masuk ditampilkan.
- Telecom bertanggung jawab untuk menampilkan pemberitahuan panggilan tidak terjawab. Karena fitur kepemilikan (seperti ID penelepon Google) tidak berfungsi pada notifikasi ini, hal ini dapat mengakibatkan ketidakkonsistenan antara notifikasi Telecom dan UI Dialer (seperti log panggilan).
Perilaku di Android 7.0 dan lebih baru
Dialer Proyek Sumber Terbuka Android (AOSP) mengimplementasikan fungsi baru. Untuk detailnya, lihat dokumentasi berikut:
- Notifikasi panggilan tak terjawab
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Memutar nada dering:
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Telepon/Java/com/Android/incallui/nada dering/
Dialer/java/com/android/incallui/StatusBarNotifier.java - Pemberitahuan VVM
kerangka kerja/base/telephony/java/android/telephony/TelephonyManager.java
Telepon/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
Gaya notifikasi untuk panggilan di Android 12 atau lebih tinggi
Untuk perangkat yang menjalankan Android 12 atau lebih tinggi, guna memberikan pengalaman panggilan pengguna yang konsisten, sebaiknya aplikasi menggunakan gaya notifikasi CallStyle
untuk panggilan masuk dan panggilan berkelanjutan. Untuk informasi lebih lanjut, lihat Pemberitahuan panggilan telepon baru yang memungkinkan peringkat pentingnya panggilan masuk .
Penerapan
Pelaksana perangkat mungkin perlu memperbarui komponen Telecom/Telephony yang mengekspos API yang tersedia untuk digunakan oleh Dialer default.