Android 7.0 chuyển chức năng liên quan đến thông báo cuộc gọi từ dịch vụ hệ thống Telecom trong nền tảng Android sang ứng dụng Quay số. Trước đây, trách nhiệm hiển thị thông báo liên quan đến cuộc gọi được chia sẻ giữa Telecom và ứng dụng Quay số mặc định, dẫn đến hành vi không nhất quán. Trong Android 7.0, Trình quay số chịu mọi trách nhiệm xử lý thông báo cuộc gọi.
Hành vi trong Android 6.x trở xuống
Trong các bản phát hành Android trước đây, Telecom và Trình quay số có trách nhiệm riêng biệt như mô tả trong bảng sau:
| Chức năng | Do Telecom thực hiện | Do Trình quay số thực hiện |
|---|---|---|
| Thông báo khi có cuộc gọi đến | Có (đổ chuông, rung) | Có (hiển thị thông báo, số nhận dạng người gọi) |
| Gửi tới thư thoại | Có | Không |
| Nhạc chuông tuỳ chỉnh | Có | Không |
| Thông báo cuộc gọi nhỡ | Có | Không |
| Chỉ báo tin nhắn đang đợi (gọi đến số thư thoại) | Có (điện thoại) | Không |
| Thông báo thư thoại kèm theo hình ảnh | Không | Có |
Ví dụ về hành vi không nhất quán do việc phân chia trách nhiệm này gây ra, bao gồm:
- Telecom chịu trách nhiệm khởi động chuông/chế độ rung, nhưng trình quay số chịu trách nhiệm hiển thị thông báo cuộc gọi đến. Nếu ứng dụng quay số khởi động chậm, thì điều này có thể khiến chuông bắt đầu đổ vài giây trước khi thông báo cuộc gọi đến xuất hiện.
- Telecom chịu trách nhiệm hiển thị thông báo cuộc gọi nhỡ. Vì các tính năng độc quyền (chẳng hạn như tính năng nhận dạng người gọi của Google) không hoạt động trên những thông báo này, nên có thể xảy ra tình trạng không nhất quán giữa thông báo của Telecom và giao diện người dùng của Trình quay số (chẳng hạn như nhật ký cuộc gọi).
Hành vi trong Android 7.0 trở lên
Ứng dụng quay số của Dự án nguồn mở Android (AOSP) triển khai chức năng mới này. Để biết thông tin chi tiết, hãy tham khảo tài liệu sau:
- Thông báo cuộc gọi nhỡ
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Phát nhạc chuông:
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 - Thông báo VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
Kiểu thông báo cho cuộc gọi trên Android 12 trở lên
Đối với các thiết bị chạy Android 12 trở lên, để mang lại trải nghiệm nhất quán cho người dùng khi thực hiện cuộc gọi, các ứng dụng nên sử dụng kiểu thông báo
CallStyle cho các cuộc gọi đến và đang diễn ra.
Để biết thêm thông tin, hãy xem phần
Thông báo cuộc gọi điện thoại mới cho phép xếp hạng mức độ quan trọng của các cuộc gọi đến.
Triển khai
Người triển khai thiết bị có thể cần cập nhật các thành phần Telecom/Telephony (Viễn thông/Điện thoại) để hiển thị các API mà Trình quay số mặc định có thể sử dụng.