Профили сопутствующих устройств

Профиль сопутствующего устройства, представленный в 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)
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран, способный отображать уведомления (исключаются устройства, использующие тактильные ощущения вместо экрана)
  • Обеспечивает взаимодействие с пользователем, например отображение уведомлений телефона на экране сопутствующего устройства.
  • Публикует телефонные уведомления для управления устройством. Например, когда часы подключены или когда включена определенная функция.
Phone
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте.
  • Обеспечивает взаимодействие с пользователем по телефону (дополнительное приложение объединяет телефонные звонки)
SMS
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран, на котором отображаются SMS-сообщения.
  • Обеспечьте удобство использования SMS-сообщений
Contacts
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Использует контактную информацию как часть звонков или обмена сообщениями.
Calendar
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Обеспечьте удобный интерфейс календаря на часах.
Nearby devices
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Обеспечьте удобный интерфейс сопряжения/подключения на часах.
eSIM provisioning
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Обеспечьте удобный интерфейс управления услугами абонента от оператора связи на часах.
Managing ongoing calls
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте.
  • Обеспечивает взаимодействие с пользователем по телефону (дополнительное приложение объединяет телефонные звонки)

Профиль очков

Профиль «Очки» представлен в Android 14.

В следующей таблице описаны определенные разрешения для профиля устройства COMPANION_DEVICE_GLASSES и требования для их использования.

Разрешения Требования к сопутствующему приложению и устройству
Уведомления

BIND_NOTIFICATION_LISTENER_SERVICE

POST_NOTIFICATIONS
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран, способный отображать уведомления (исключаются устройства, использующие тактильные ощущения вместо экрана)
  • Обеспечивает взаимодействие с пользователем, например отображение уведомлений телефона на экране сопутствующего устройства.
  • Публикует уведомления телефона для управления устройством, например, когда подключено устройство с очками или когда включена определенная функция.
Phone
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте.
  • Обеспечивает взаимодействие с пользователем по телефону (дополнительное приложение объединяет телефонные звонки)
SMS
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран, на котором отображаются SMS-сообщения.
  • Обеспечьте удобство использования SMS-сообщений
Contacts
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Использует контактную информацию как часть звонков или обмена сообщениями.
Microphone
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Обеспечивает возможность использования микрофона, обращенного к пользователю, на очках.
Nearby devices
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет экран дисплея
  • Обеспечивает удобный интерфейс сопряжения/подключения очков.
Managing ongoing calls
  • Быть подключенным устройством с помощью Bluetooth и/или Wi-Fi.
  • Имеет встроенный микрофон и динамик, позволяющий вести голосовой разговор.
  • Имеет экран, на котором отображается информация о вызывающем абоненте.
  • Обеспечивает взаимодействие с пользователем по телефону (дополнительное приложение объединяет телефонные звонки)

Выполнение

Для сторонних разработчиков, реализующих сопутствующее приложение, запрашивающее профиль DEVICE_PROFILE_WATCH , выполните следующие действия:

  1. Вызовите метод setDeviceProfile .

  2. Передайте профиль (например, DEVICE_PROFILE_WATCH при построении AssociationRequest .

Производители устройств, реализующие сопутствующее приложение на конкретном устройстве, могут использовать следующие обязательные конфигурации системы Android для сертификации сопутствующего приложения, что позволяет приложению пропускать отображение диалогового окна согласия пользователя для пользователей.

  1. Получите сертификат с помощью следующей команды:

    keytool  -printcert -jarfile PATH/TO/APK
    
  2. Замените имя пакета и сертификат, как показано в следующем примере ввода в файле конфигурации:

    <!-- 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. Используйте AssociationRequest , чтобы отправить запрос на привязку к одному сопутствующему устройству.

Валидация

Чтобы проверить поведение функции профиля сопутствующего устройства, используйте тесты CTS в cts/tests/tests/companion/ .