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 Viễn thông trên nền tảng Android sang ứng dụng Trình 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 phân chia giữa Telecom và ứng dụng Trình quay số mặc định, tạo ra sự không nhất quán trong hành vi. 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ở về trước
Trong các bản phát hành Android trước đó, Telecom và Dialer phân chia trách nhiệm như mô tả bên dưới:
Chức năng | Viễn thông thực hiện | Thực hiện bởi Dialer |
---|---|---|
Thông báo cuộc gọi đến | Có (đổ chuông, rung) | Có (hiển thị thông báo, ID người gọi) |
Gửi tới thư thoại | Đúng | KHÔNG |
Nhạc chuông tùy chỉnh | Đúng | KHÔNG |
Thông báo cuộc gọi nhỡ | Đúng | KHÔNG |
Chỉ báo chờ tin nhắn (gọi thư thoại) | Có (điện thoại) | KHÔNG |
Thông báo thư thoại trực quan | KHÔNG | Đúng |
Ví dụ về hành vi không nhất quán do sự phân chia trách nhiệm này gây ra bao gồm:
- Viễn thông chịu trách nhiệm khởi động chuông/bộ 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 trình quay số khởi động chậm, điều này có thể dẫn đến việc chuông bắt đầu đổ chuông vài giây trước khi thông báo cuộc gọi đến hiển thị.
- 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ư ID người gọi của Google) không hoạt động trên các thông báo này nên điều này có thể dẫn đến sự không nhất quán giữa thông báo Viễn thông và Giao diện người dùng 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
Trình quay số của Dự án mã nguồn mở Android (AOSP) triển khai chức năng mới. Để biết chi tiết, hãy tham khảo tài liệu sau:
- Thông báo cuộc gọi nhỡ
Viễn thông/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Trình quay số/android/trình quay số/calllog/MissedCallNotificationReceiver.java
Trình quay số/android/trình quay số/calllog/MissedCallNotifier.java - Phát nhạc chuông:
frameworks/base/viễn thông/java/android/telecom/InCallService.java
Viễn thông/src/com/android/server/telecom/InCallController.java
Trình quay số/java/com/android/incallui/nhạc chuông/
Dialer/java/com/android/incallui/StatusBarNotifier.java - Thông báo VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Điện thoại/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 trong 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 người dùng nhất quán cho các cuộc gọi, chúng tôi khuyên 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à cuộc gọi đang diễn ra. Để biết thêm thông tin, hãy xem Thông báo cuộc gọi điện thoại mới cho phép xếp hạng tầm quan trọng của cuộc gọi đến .
Thực hiện
Người triển khai thiết bị có thể cần cập nhật các thành phần Viễn thông/Điện thoại để hiển thị các API có sẵn để Trình quay số mặc định sử dụng.