Профиль вспомогательного устройства, представленный в Android 12, — это функция, позволяющая вспомогательным приложениям запрашивать набор разрешений, специфичных для типа вспомогательного устройства, например, умных часов. Использование профиля вспомогательного устройства упрощает процесс регистрации, позволяя приложениям отображать пользователям на их мобильных устройствах одно сообщение с запросом определенного набора разрешений вместо нескольких сообщений с запросами разрешений по отдельности. Это может обеспечить более простую настройку и более высокий процент согласия на использование вспомогательных приложений.
Для использования профилей сопутствующих устройств сопутствующие приложения должны соответствовать следующим требованиям:
- Управляйте сопутствующим устройством (например, умными часами).
- В некоторых приложениях функции или вызовы API Android требуют всех разрешений, определенных для профиля сопутствующего устройства.
Каждый профиль вспомогательного устройства соответствует роли Android. Для получения дополнительной информации о разрешениях и соответствующей роли Android каждого профиля см. раздел «Профили вспомогательного устройства для сторонних приложений» .
Для получения дополнительной информации о сопутствующих устройствах см. раздел «Сопряжение сопутствующих устройств» .
Поведение устройства
В этом разделе описывается поведение устройства при использовании профилей сопутствующих устройств.
Когда пользователь принимает запрос приложения на создание связи с сопутствующим устройством, служба CompanionDeviceManager (CDM) назначает сопутствующему приложению роль профиля устройства (например, часы), предоставляя все разрешения, определенные для этой указанной роли профиля. На рисунке 1 показан пример приложения, запрашивающего разрешения для профиля устройства COMPANION_DEVICE_WATCH .

Рисунок 1. Диалоговое окно с запросом разрешений для профиля часов.
Когда пользователь очищает данные пакета в настройках или удаляет все устройства из сопутствующего приложения, CDM отзывает профиль, если приложение не работает на переднем плане и не имеет запущенной службы переднего плана. Отзыв профиля также отменяет все определенные для него разрешения.
После того как пользователь принимает запрос приложения на предоставление разрешений для конкретного профиля устройства, он может отозвать предоставленные ранее отдельные разрешения. При отзыве разрешения приложение остается связанным с сопутствующим устройством, но некоторые функции могут стать недоступными. Если разрешение необходимо для работы приложения, оно должно запросить его обычным способом .
Сопутствующие профили устройств для сторонних приложений
Посмотреть профиль
Функция создания профиля для часов появилась в Android 12.
В таблице ниже описаны заданные разрешения для профиля устройства COMPANION_DEVICE_WATCH и требования для их использования.
| Разрешения | Требования к сопутствующему приложению и устройству |
|---|---|
УведомленияPOST_NOTIFICATIONS (added in Android 15) |
|
Phone |
|
SMS |
|
Contacts |
|
Calendar |
|
Nearby devices |
|
eSIM provisioning |
|
Managing ongoing calls |
|
Профиль очков
Профиль «Очки» появился в Android 14.
В таблице ниже описаны заданные права доступа для профиля устройства COMPANION_DEVICE_GLASSES и требования для их использования.
| Разрешения | Требования к сопутствующему приложению и устройству |
|---|---|
Уведомления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/ .