Профиль сопутствующего устройства, представленный в Android 12, — это функция, которая позволяет сопутствующим приложениям запрашивать набор разрешений, специфичный для типа сопутствующего устройства, например умных часов. Использование профиля сопутствующего устройства упрощает процесс регистрации, позволяя приложениям отображать пользователям на своих мобильных устройствах один запрос на запрос определенного набора разрешений вместо нескольких запросов, запрашивающих разрешения по отдельности. Это позволит упростить настройку и повысить частоту подписки на сопутствующие приложения.
Чтобы использовать профили сопутствующих устройств, сопутствующие приложения должны соответствовать следующим требованиям:
- Управляйте сопутствующим устройством (например, умными часами).
- Используйте функции приложения или вызывайте API-интерфейсы Android, для которых требуются все разрешения, определенные для профиля сопутствующего устройства.
Каждый профиль сопутствующего устройства соответствует роли Android. Дополнительную информацию о разрешениях и соответствующей роли Android для каждого профиля см. в разделе Профили сопутствующих устройств для сторонних приложений .
Дополнительную информацию о сопутствующих устройствах см. в разделе Сопряжение сопутствующих устройств .
Поведение устройства
В этом разделе описывается поведение устройства при использовании профилей сопутствующих устройств.
Когда пользователь принимает запрос приложения на создание связи с сопутствующим устройством, служба CompanionDeviceManager
(CDM) назначает роль профиля устройства (например, часы) сопутствующему приложению, предоставляя все разрешения, определенные для этой указанной роли профиля. На рис. 1 показан пример приложения, запрашивающего разрешения для профиля устройства COMPANION_DEVICE_WATCH
.
Рисунок 1. Диалоговое окно запроса разрешений для профиля устройства наблюдения.
Когда пользователь очищает данные пакета в настройках или удаляет все устройства в сопутствующем приложении, CDM отзывает профиль, пока приложение не работает на переднем плане и не работает служба переднего плана. Отзыв профиля также отменяет все определенные разрешения для профиля.
После того как пользователь примет запрос приложения на предоставление разрешений для определенного профиля устройства, он может отозвать отдельные предоставленные разрешения. Когда пользователь отзывает разрешение, приложение остается связанным с сопутствующим устройством, но некоторые функции могут стать недоступными. Если для работы приложения требуется разрешение, оно должно запросить разрешение посредством обычного запроса разрешения .
Профили сопутствующих устройств для сторонних приложений
Посмотреть профиль
Профиль часов представлен в Android 12.
В следующей таблице описаны определенные разрешения для профиля устройства COMPANION_DEVICE_WATCH
и требования для их использования.
Разрешения | Требования к сопутствующему приложению и устройству |
---|---|
УведомленияBIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Профиль очков
Профиль «Очки» представлен в Android 14.
В следующей таблице описаны определенные разрешения для профиля устройства COMPANION_DEVICE_GLASSES
и требования для их использования.
Разрешения | Требования к сопутствующему приложению и устройству |
---|---|
УведомленияBIND_NOTIFICATION_LISTENER_SERVICE POST_NOTIFICATIONS |
|
Phone |
|
SMS |
|
Contacts |
|
Microphone |
|
Nearby devices |
|
Managing ongoing calls |
|
Выполнение
Для сторонних разработчиков, реализующих сопутствующее приложение, запрашивающее профиль DEVICE_PROFILE_WATCH
, выполните следующие действия:
Вызовите метод
setDeviceProfile
.Передайте профиль (например,
DEVICE_PROFILE_WATCH
при созданииAssociationRequest
.
Производители устройств отказываются от отображения диалогового окна согласия пользователя.
Производители устройств, реализующие сопутствующее приложение на конкретном устройстве, могут использовать следующие обязательные конфигурации системы Android для сертификации сопутствующего приложения, что позволяет приложению пропускать отображение диалогового окна согласия пользователя для пользователей.
Получите сертификат с помощью следующей команды:
keytool -printcert -jarfile PATH/TO/APK
Замените имя пакета и сертификат, как показано в следующем примере ввода в файле конфигурации:
<!-- 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>
Используйте
AssociationRequest
, чтобы отправить запрос на привязку к одному сопутствующему устройству.
Валидация
Чтобы проверить поведение функции профиля сопутствующего устройства, используйте тесты CTS в cts/tests/tests/companion/
.