Chi tiết kỹ thuật

Sơ đồ sau minh họa các thành phần hệ thống tương tác với Dialer:

Các thành phần tương tác với Dialer

Hình 1. Các thành phần tương tác với Dialer

  • Giao diện người dùng hệ thống. Khía cạnh điều hướng phía dưới để lưu trữ nút Điện thoại, nút này đăng ký intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;package=com.android.car.dialer;launchFlags=0x10000000;end Việc này bắt đầu hoạt động chính của người dùng, TelecomActivity .

  • Trình khởi chạy ứng dụng. Quản lý toàn bộ danh sách ứng dụng. Trình quay số khai báo TelecomActivity bằng android.intent.category.LAUNCHER . Việc chọn ứng dụng điện thoại từ danh sách ứng dụng của trình khởi chạy sẽ hiển thị TelecomActivity.

  • Tiện ích trang chủ. Trong tài liệu tham khảo AOSP, không có tiện ích Home. Các OEM có thể muốn xem xét việc thêm tiện ích Home cho Trình quay số để hiển thị trạng thái của điện thoại được kết nối hiện tại (cũng như các thông tin khác).

  • Trung tâm Thông báo

    • Thông báo cảnh báo (HUN) được hiển thị cho các cuộc gọi đến. Khi Trình quay số InCallServiceImpl nhận được cuộc gọi đến, Trình quay số sẽ đăng HUN lên Trung tâm thông báo, hiển thị chi tiết cuộc gọi, chẳng hạn như số điện thoại hoặc thông tin liên hệ. Trình quay số cũng hiển thị hai nút hành động là Trả lời và Từ chối. Bằng cách nhấn vào nút Trả lời, cuộc gọi sẽ được trả lời và InCallServiceImpl xử lý cuộc gọi đang hoạt động để hiển thị Giao diện người dùng của Trình quay số trong cuộc gọi và loại bỏ HUN. Nhấp vào HUN sẽ hiển thị trang InCall toàn màn hình với các nút Trả lời và Từ chối.

    • Thông báo xuất hiện cho các cuộc gọi nhỡ chưa đọc. Nhấp vào thông báo sẽ hiển thị trang Lịch sử cuộc gọi và đánh dấu các cuộc gọi nhỡ là đã đọc. Nhấn vào nút Gọi lại để thực hiện cuộc gọi và hiển thị giao diện người dùng InCall của Trình quay số.

  • Trợ lý. Người dùng có thể yêu cầu trợ lý thực hiện cuộc gọi có thể hiển thị giao diện người dùng Dialer InCall.

  • Bản đồ Google. Việc gọi cho người bán từ Google Maps sẽ gửi mục đích DIAL cùng với các số điện thoại bổ sung sẽ bắt đầu trang Bàn phím quay số để quay số nhanh.

  • Dịch vụ đầu vào ô tô. Giám sát phím vật lý của nút Gọi và Kết thúc cuộc gọi trên vô lăng. Nhấn nút:

    • Nút gọi từ vô lăng khi không có cuộc gọi đến sẽ gửi ý định DIAL và hiển thị trang Bàn phím số của Trình quay số.

    • Nút gọi từ vô lăng khi có cuộc gọi đến khiến TelecomManager trả lời cuộc gọi.

    • Nút Kết thúc cuộc gọi từ vô lăng khi có cuộc gọi đến, TelecomManager sẽ kết thúc cuộc gọi.

  • Bluetooth

    • PBAPClient. Tải danh bạ xuống từ điện thoại và ghi vào nhà cung cấp danh bạ. Đối với mỗi điện thoại được kết nối, một tài khoản sẽ được tạo với địa chỉ MAC Bluetooth của thiết bị làm tên tài khoản và com.android.bluetooth.pbapsink ( @string/pbap_account_type được xác định trong packages/apps/Bluetooth ) làm loại tài khoản. Danh bạ được ghi cho nhà cung cấp danh bạ được ghi cùng với thông tin tài khoản và sẽ bị xóa khi điện thoại bị ngắt kết nối. PBAPClient không tương tác trực tiếp với Trình quay số mà thay vào đó ghi các liên hệ vào Nhà cung cấp Danh bạ. Trình quay số đọc danh bạ từ Trình cung cấp Danh bạ.

    • HfpClientConnectionService . Quản lý cuộc gọi Bluetooth thông qua HFP và báo cáo cuộc gọi đến các dịch vụ Viễn thông.

  • Viễn thông. Khung Android Telecom quản lý cuộc gọi âm thanh và video trên thiết bị Android. Vì Dialer là ứng dụng điện thoại mặc định nên nó triển khai các API InCallServiceInCallController sẽ liên kết việc triển khai InCallService của Dialer để xử lý các cuộc gọi. Để biết thêm chi tiết, hãy xem Tạo ứng dụng điện thoại thay thếTrở thành ứng dụng điện thoại mặc định .

  • Cài đặt hệ thống. Trình quay số giám sát danh sách thiết bị được kết nối HFP và hiển thị thông báo lỗi khi không có điện thoại nào được kết nối với trình quay số qua Bluetooth. Trong tham chiếu AOSP, nút Kết nối với Bluetooth liên kết người dùng với trang Cài đặt Bluetooth của hệ thống để ghép nối một thiết bị mới hoặc để kết nối với một thiết bị được ghép nối.

  • Động cơ đánh lạc hướng người lái xe. Dịch vụ hệ thống Android này áp đặt các hạn chế UX dựa trên trạng thái lái của ô tô. Trình quay số phải thực thi tất cả các hạn chế về việc mất tập trung khi lái xe UX. Để làm như vậy, Trình quay số phải lắng nghe CarUXRestrictionManager và triển khai tất cả các chính sách. Trình quay số phải:

    • Kết nối với thư viện Ô tô và lấy phiên bản CarUXRestrictionManager .

    • Đăng ký nhận các bản cập nhật trong danh sách CarUxRestrictions và triển khai chúng như tài liệu.

    • Đặc biệt quan trọng đối với Trình quay số:

      • Trang cài đặt được tối ưu hóa cho xe. Người dùng không thể truy cập trang Cài đặt Trình quay số khi đang lái xe. Bằng cách nhấn vào menu Cài đặt từ thanh hành động, một màn hình chặn sẽ hiển thị để ngăn người dùng truy cập Cài đặt khi đang lái xe. Nếu trang Cài đặt đã được hiển thị, màn hình chặn sẽ bật lên để dừng tương tác của người dùng.

      • Không thể truy cập cài đặt hệ thống khi đang lái xe. Trên trang Lỗi, khi không có thiết bị Bluetooth nào được kết nối, nút Kết nối với Bluetooth sẽ hiển thị trang cài đặt Bluetooth của hệ thống. UXR của nút này bị hạn chế hoàn toàn. Khi đang lái xe, nhấn vào nút này sẽ hiển thị thông báo lỗi để thông báo cho người dùng đỗ xe trước rồi mới thực hiện thao tác.

      • Người dùng không thể bắt đầu quy trình thêm vào mục yêu thích khi đang lái xe. Nút Thêm yêu thích bị tắt.

Luồng người dùng

Trình quay số chính

Các trang khác nhau dành cho Trình quay số được cung cấp bên dưới.

Trang quay số chính

Hình 2. Trang Trình quay số chính

Xử lý cuộc gọi

Luồng quá trình chuyển giao cuộc gọi được trình bày dưới đây:

Xử lý cuộc gọi

Hình 3. Xử lý cuộc gọi

Thông báo

Các trang thông báo khác nhau được hiển thị bên dưới:

Thông báo

Hình 4. Thông báo

Trạng thái cuộc gọi

Luồng trang InCall được hiển thị bên dưới:

Trang cuộc gọi

Hình 5. Trang InCall

Các màn hình Tìm kiếm là:

Tìm kiếm

Hình 6. Tìm kiếm

Cài đặt

Các tùy chọn Cài đặt là:

Cài đặt

Hình 7. Cài đặt