Профиль сопутствующего устройства, представленный в 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 |
|
Профиль очков
Профиль Glasses представлен в 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/
.