Android 7.0 memindahkan fungsi terkait notifikasi panggilan dari layanan sistem Telecom di platform Android ke aplikasi Dialer. Sebelumnya, tanggung jawab untuk menampilkan notifikasi terkait panggilan dibagi antara Telecom dan aplikasi Dialer default, sehingga menimbulkan inkonsistensi dalam perilaku. Di Android 7.0, Aplikasi Telepon mengasumsikan semua tanggung jawab untuk menangani notifikasi panggilan.
Perilaku di Android 6.x dan yang lebih rendah
Pada rilis Android sebelumnya, Telecom dan Dialer membagi tanggung jawab seperti yang dijelaskan dalam tabel berikut:
| Fungsi | Selesai oleh Telecom | Selesai oleh Telepon |
|---|---|---|
| Notifikasi panggilan masuk | Ya (berdering, bergetar) | Ya (tampilan notifikasi, ID penelepon) |
| Kirim ke pesan suara | Ya | Tidak |
| Nada dering kustom | Ya | Tidak |
| Notifikasi panggilan tak terjawab | Ya | Tidak |
| Indikator Pesan Menunggu (panggil pesan suara) | Ya (telepon) | Tidak |
| Notifikasi pesan suara visual | Tidak | Ya |
Contoh perilaku tidak konsisten yang disebabkan oleh pembagian tanggung jawab ini meliputi:
- Telecom bertanggung jawab untuk memulai dering/vibrator, tetapi dialer bertanggung jawab untuk menampilkan notifikasi panggilan masuk. Jika aplikasi telepon lambat saat dimulai, dering dapat dimulai beberapa detik sebelum notifikasi panggilan masuk ditampilkan.
- Telecom bertanggung jawab untuk menampilkan notifikasi panggilan tak terjawab. Karena fitur eksklusif (seperti ID penelepon Google) tidak berfungsi pada notifikasi ini, hal ini dapat menyebabkan inkonsistensi antara notifikasi Telecom dan UI Dialer (seperti log panggilan).
Perilaku di Android 7.0 dan yang lebih tinggi
Aplikasi Telepon Project Open Source Android (AOSP) menerapkan fungsi baru. Untuk mengetahui 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
Dialer/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - Notifikasi VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
Gaya notifikasi untuk panggilan di Android 12 atau yang lebih baru
Untuk perangkat yang menjalankan Android 12 atau yang lebih tinggi, guna memberikan
pengalaman pengguna yang konsisten untuk panggilan, sebaiknya aplikasi menggunakan
gaya notifikasi
CallStyle untuk panggilan masuk dan yang sedang berlangsung.
Untuk mengetahui informasi selengkapnya, lihat
Notifikasi panggilan telepon baru yang memungkinkan penentuan prioritas panggilan masuk.
Implementasi
Pengimplementasi perangkat mungkin perlu mengupdate komponen Telecom/Telephony yang mengekspos API yang tersedia untuk digunakan oleh Dialer default.