Hồ sơ thiết bị đồng hành, được giới thiệu 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ơ thiết bị đồng hành giúp đơn giản hoá quy trình đăng ký bằng cách cho phép ứ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 để 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 mang lại trải nghiệm thiết lập đơn giản hơn và tỷ lệ chọn sử dụng cao hơn cho các ứng dụng đồng hành.
Để sử dụng hồ sơ thiết bị đồng hành, ứng dụng đồng hành phải đáp ứng các yêu cầu sau:
- Quản lý thiết bị đồng hành (ví dụ: đồng hồ thông minh).
- Có các tính năng ứng dụng hoặc gọi các API Android yêu cầu tất 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ò trong Android. Để biết thêm thông tin về các quyền và vai trò tương ứng của Android trong mỗi hồ sơ, hãy xem phần 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 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ả quyền được xác định cho vai trò hồ sơ đã chỉ định đó.
Hình 1 là 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
.
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 chạy ở nền trước. Việc thu hồi hồ sơ cũng sẽ thu hồi tất cả quyền đã xác định đối với hồ sơ.
Sau khi người dùng chấp nhận yêu cầu của ứng dụng để cấp quyền 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 một 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 nhất định có thể không dùng được. Nếu ứng dụng cần quyền để 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.
Cấu hình thiết bị đồng hành cho ứng dụng bên thứ ba
Hồ sơ của video
Hồ sơ đồng hồ được giới thiệu trong Android 12.
Bảng sau đây mô tả các quyền đã 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 về ứng dụng đồng hành và thiết bị |
---|---|
Thông báo
POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
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 đã 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 | Các yêu cầu về thiết bị và ứng dụng đồng hành |
---|---|
Thông báoPOST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
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:
Gọi phương thức
setDeviceProfile
.Truyền một hồ sơ (ví dụ:
DEVICE_PROFILE_WATCH
khi tạoAssociationRequest
.
Nhà sản xuất thiết bị để bỏ qua việc hiển thị hộp thoại đồng ý của người dùng
Đối với nhà sản xuất thiết bị triển khai ứ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, 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.
Truy xuất chứng chỉ bằng lệnh sau:
keytool -printcert -jarfile PATH/TO/APK
Thay thế tên gói và chứng chỉ như minh hoạ trong nội dung nhập mẫu sau đây 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>
Sử dụng
AssociationRequest
để tạo yêu cầu liên kết với 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/
.