Hồ sơ thiết bị đồng hành

Hồ sơ thiết bị đồng hành (ra mắt trong Android 12) là một tính năng cho phép các ứng dụng đồng hành yêu cầu một nhóm quyền dành riêng cho loại thiết bị đồng hành, chẳng hạn như đồng hồ thông minh. Việc sử dụng hồ sơ của thiết bị đồng hành giúp đơn giản hoá quy trình đăng ký bằng cách cho phép các ứng dụng hiển thị một lời nhắc duy nhất cho người dùng trên thiết bị di động của họ để yêu cầu một nhóm quyền đã xác định thay vì nhiều lời nhắc yêu cầu cấp quyền riêng lẻ. Điều này có thể giúp đơn giản hoá trải nghiệm thiết lập và tăng tỷ lệ chọn sử dụng cho các ứng dụng đồng hành.

Để sử dụng hồ sơ thiết bị đồng hành, các ứng dụng đồng hành phải đáp ứng các yêu cầu sau:

  • Quản lý một thiết bị đồng hành (ví dụ: đồng hồ thông minh).
  • Có các tính năng của ứng dụng hoặc gọi các API Android yêu cầu tất cả các quyền được xác định cho hồ sơ thiết bị đồng hành.

Mỗi hồ sơ thiết bị đồng hành tương ứng với một vai trò trên Android. Để biết thêm thông tin về các quyền và vai trò tương ứng trên Android của từng hồ sơ, hãy xem hồ sơ thiết bị đồng hành cho ứng dụng bên thứ ba.

Để biết thêm thông tin về thiết bị đồng hành, hãy xem phần Ghép nối thiết bị đồng hành.

Hành vi của thiết bị

Phần này mô tả hành vi của thiết bị khi sử dụng hồ sơ thiết bị đồng hành.

Khi người dùng chấp nhận yêu cầu của ứng dụng để tạo mối liên kết với một thiết bị đồng hành, dịch vụ CompanionDeviceManager (CDM) sẽ chỉ định vai trò hồ sơ thiết bị (ví dụ: đồng hồ) cho ứng dụng đồng hành, cấp tất cả các quyền được xác định cho vai trò hồ sơ được chỉ định đó. Hình 1 cho thấy ví dụ về một ứng dụng yêu cầu cấp quyền cho hồ sơ thiết bị COMPANION_DEVICE_WATCH.

Lời nhắc về hộp thoại hồ sơ thiết bị xem

Hình 1. Hộp thoại yêu cầu cấp quyền cho hồ sơ thiết bị đồng hồ.

Khi người dùng xoá dữ liệu gói trong phần Cài đặt hoặc xoá tất cả thiết bị trong ứng dụng đồng hành, CDM sẽ thu hồi hồ sơ trong khi ứng dụng không chạy ở nền trước và không có dịch vụ nào ở nền trước đang chạy. Việc thu hồi hồ sơ cũng sẽ thu hồi tất cả các quyền đã xác định cho hồ sơ đó.

Sau khi người dùng chấp nhận yêu cầu cấp quyền của ứng dụng cho một hồ sơ thiết bị cụ thể, người dùng có thể thu hồi từng quyền đã cấp. Khi người dùng thu hồi quyền, ứng dụng vẫn được liên kết với thiết bị đồng hành nhưng một số tính năng có thể không dùng được. Nếu cần có quyền để ứng dụng hoạt động, thì ứng dụng phải yêu cầu quyền thông qua một yêu cầu cấp quyền thông thường.

Hồ sơ thiết bị đi kèm cho các ứng dụng bên thứ ba

Hồ sơ xem

Hồ sơ đồng hồ được giới thiệu trong Android 12.

Bảng sau đây mô tả các quyền được xác định cho hồ sơ thiết bị COMPANION_DEVICE_WATCH và các yêu cầu để sử dụng các quyền đó.

Quyền Yêu cầu đối với ứng dụng đồng hành và thiết bị
Thông báo

POST_NOTIFICATIONS (added in Android 15)
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình có thể hiển thị thông báo (không bao gồm các thiết bị sử dụng phản hồi xúc giác thay vì màn hình)
  • Cung cấp trải nghiệm thông báo cho người dùng, ví dụ: hiển thị thông báo trên điện thoại trên màn hình thiết bị đồng hành.
  • Đăng thông báo trên điện thoại để quản lý thiết bị. Ví dụ: khi đồng hồ được kết nối hoặc khi một tính năng cụ thể được bật.
Phone
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có micrô và loa tích hợp để hỗ trợ cuộc trò chuyện bằng giọng nói
  • Có màn hình hiển thị thông tin người gọi
  • Cung cấp trải nghiệm gọi điện thoại cho người dùng (ứng dụng đồng hành kết nối các cuộc gọi điện thoại)
SMS
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị tin nhắn SMS
  • Mang đến trải nghiệm SMS cho người dùng
Contacts
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Sử dụng thông tin liên hệ trong trải nghiệm gọi điện hoặc nhắn tin
Calendar
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Cung cấp trải nghiệm lịch cho người dùng trên đồng hồ
Nearby devices
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Cung cấp trải nghiệm ghép nối/kết nối cho người dùng trên đồng hồ
eSIM provisioning
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Cung cấp trải nghiệm cho người dùng để quản lý các dịch vụ của người đăng ký từ nhà mạng trên đồng hồ
Managing ongoing calls
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có micrô và loa tích hợp để hỗ trợ cuộc trò chuyện bằng giọng nói
  • Có màn hình hiển thị thông tin người gọi
  • Cung cấp trải nghiệm gọi điện thoại cho người dùng (ứng dụng đồng hành kết nối các cuộc gọi điện thoại)

Hồ sơ kính

Hồ sơ Kính được giới thiệu trong Android 14.

Bảng sau đây mô tả các quyền được xác định cho hồ sơ thiết bị COMPANION_DEVICE_GLASSES và các yêu cầu để sử dụng các quyền đó.

Quyền Yêu cầu đối với ứng dụng đồng hành và thiết bị
Thông báo

POST_NOTIFICATIONS
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình có thể hiển thị thông báo (không bao gồm các thiết bị sử dụng phản hồi xúc giác thay vì màn hình)
  • Cung cấp trải nghiệm thông báo cho người dùng, ví dụ: hiển thị thông báo trên điện thoại trên màn hình thiết bị đồng hành.
  • Đăng thông báo trên điện thoại để quản lý thiết bị, ví dụ: khi một thiết bị kính được kết nối hoặc khi một tính năng cụ thể được bật.
Phone
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có micrô và loa tích hợp để hỗ trợ cuộc trò chuyện bằng giọng nói
  • Có màn hình hiển thị thông tin người gọi
  • Cung cấp trải nghiệm gọi điện thoại cho người dùng (ứng dụng đồng hành kết nối các cuộc gọi điện thoại)
SMS
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị tin nhắn SMS
  • Mang đến trải nghiệm SMS cho người dùng
Contacts
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Sử dụng thông tin liên hệ trong trải nghiệm gọi điện hoặc nhắn tin
Microphone
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Mang đến trải nghiệm micrô cho người dùng trên kính
Nearby devices
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có màn hình hiển thị
  • Mang đến trải nghiệm ghép nối/kết nối cho người dùng trên kính
Managing ongoing calls
  • Là một thiết bị được kết nối bằng Bluetooth và/hoặc Wi-Fi
  • Có micrô và loa tích hợp để hỗ trợ cuộc trò chuyện bằng giọng nói
  • Có màn hình hiển thị thông tin người gọi
  • Cung cấp trải nghiệm gọi điện thoại cho người dùng (ứng dụng đồng hành kết nối các cuộc gọi điện thoại)

Triển khai

Đối với nhà phát triển bên thứ ba triển khai một ứng dụng đồng hành yêu cầu hồ sơ DEVICE_PROFILE_WATCH, hãy làm như sau:

  1. Gọi phương thức setDeviceProfile.

  2. Truyền vào một hồ sơ (ví dụ: DEVICE_PROFILE_WATCH khi tạo AssociationRequest.

Đối với các nhà sản xuất thiết bị triển khai một ứng dụng đồng hành với một thiết bị cụ thể, hãy sử dụng các cấu hình hệ thống Android bắt buộc sau đây để chứng nhận ứng dụng đồng hành. Việc này cho phép ứng dụng bỏ qua việc hiển thị hộp thoại đồng ý của người dùng cho người dùng.

  1. Truy xuất chứng chỉ bằng lệnh sau:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Thay thế tên gói và chứng chỉ như trong dữ liệu đầu vào mẫu sau trong tệp cấu hình:

    <!-- A list of packages managing companion device(s) by the same manufacturers as the main device.
    It will not create the association without prompting if the association has been called multiple
    times in a short period. Note that config_companionDeviceManagerPackage and config_companionDeviceCerts
    are parallel arrays. -->
    
    <string-array name="config_companionDevicePackages" translatable="false">
        <item>YOUR_COMPANION_APP_PACKAGE_NAME</item>
    </string-array>
    
    <!-- A list of SHA256 Certificates managing companion device(s) by the same manufacturers as the
    main device. It will fall back to showing a prompt if the association has been called multiple
    times in a short period. Note that config_companionDeviceCerts and config_companionDeviceManagerPackage
    are parallel arrays.
    Example: "1A:2B:3C:4D" -->
    
    <string-array name="config_companionDeviceCerts" translatable="false">
        <item>YOUR_COMPANION_APP_CERTIFICATE</item>
    </string-array>
    
  3. Dùng AssociationRequest để gửi yêu cầu liên kết đến một thiết bị đồng hành.

Xác nhận kết quả

Để kiểm thử hành vi của tính năng hồ sơ thiết bị đồng hành, hãy sử dụng các bài kiểm thử CTS trong cts/tests/tests/companion/.