Роли Android

Роль — это уникальное имя в системе, связанное с определенными разрешениями и привилегиями. Приложения могут запрашивать удержание определенных ролей через API Android, в частности, вызывая методы в классе RoleManager .

Ниже приведен список доступных ролей и соответствующих им требований:

Роль Требования
ASSISTANT По крайней мере одно из:
  • Приложение имеет активность, которая выполняет вспомогательные действия, учитывая информацию о контексте пользователя, когда он запросил помощь (например, имя пакета для текущего приложения переднего плана и его контекстная информация).
  • Приложение имеет постоянно включенную службу голосового взаимодействия, управляемую разрешением android.permission.BIND_VOICE_INTERACTION , которая может выполнять распознавание голоса и размещать сеансы активного голосового взаимодействия. Кроме того, приложение имеет явный флаг, указывающий, что служба способна обрабатывать действие помощи.
BROWSER Все из:
  • Приложение имеет активность, которую приложения могут вызывать с помощью неявных запросов намерений, которая отображает веб-страницу, соответствующую адресу http:// .
  • Приложение должно обрабатывать навигацию между ссылками. То есть, если пользователь просматривает веб-страницу и нажимает на адрес http:// в тексте, приложение должно иметь возможность отображать контент, соответствующий выбранной ссылке, без дополнительного вмешательства пользователя.
  • Приложение должно иметь возможность предоставлять веб-страницам текущую информацию о геолокации устройства по запросу, если пользователь одобряет запрос.
DIALER Все из:
  • Приложение имеет функцию, которую приложения могут вызывать с помощью неявных запросов намерений, что обеспечивает пользовательский интерфейс во время вызова, пока устройство находится в режиме вызова.
  • Приложение может обрабатывать входящие вызовы, отображать пользователю информацию, связанную с вызовом (например, номер телефона звонящего), а также позволять пользователю ответить на вызов или отклонить его.
  • Приложение предоставляет пользователю возможность совершать звонки и просматривать историю звонков на своем устройстве.
SMS Все из:
  • Приложение удовлетворяет всем требованиям, предъявляемым к SMS-приложениям .
  • В приложении есть действие, которое приложения могут вызывать с помощью неявных запросов намерений, которое может отправлять сообщение на номер телефона.
  • Приложение имеет службу, управляемую разрешением android.permission.SEND_RESPOND_VIA_MESSAGE и вызываемую неявными намерениями, которая может доставлять сообщения, полученные из приложения «Телефон», когда пользователь выбирает ответ через сообщение во время входящего вызова. Приложение может доставлять сообщения через собственную систему обмена сообщениями.
  • Приложение имеет два приемника вещания, один из которых управляется разрешением android.permission.BROADCAST_SMS , а другой — разрешением android.permission.BROADCAST_WAP_PUSH , которые могут прослушивать текстовые SMS и MMS-сообщения, отправляемые на устройство, соответственно. Затем приложение отвечает за отправку сообщений поставщику SMS и уведомление пользователей.
EMERGENCY Все из:
  • Приложение является системным .
  • Приложение имеет активность, которая представляет экстренную информацию пользователя. Любой может перейти на этот экран с помощью кнопки «Экстренный вызов» в активности «Экстренный набор».
HOME Приложение имеет активность, которая может запускать домашний экран, когда пользователь нажимает кнопку «Домой». Домашний экран должен отображать значки приложений, виджеты и поддерживать навигацию на основе кнопок или жестов (например, смахивание вверх для просмотра всех приложений).
CALL_REDIRECTION Приложение имеет службу, защищенную разрешением android.permission.BIND_CALL_REDIRECTION_SERVICE , к которому может привязываться фреймворк телекоммуникаций. Служба получает исходящий номер телефона от фреймворка телекоммуникаций и выполняет одно из следующих действий:
  • Разрешить сделать вызов как есть.
  • Измените исходящий номер для маршрутизации через прокси-номер.
  • Отмените вызов.
CALL_SCREENING Приложение имеет службу, доступ к которой ограничен разрешением android.permission.BIND_SCREENING_SERVICE , которое выполняет две функции:
  • Блокировка и фильтрация вызовов: служба может выбирать, какие вызовы следует направлять в приложение для набора номера на телефоне (и, возможно, включать звонок, учитывая режим «Не беспокоить» или громкость), а какие следует беззвучно перенаправлять на голосовую почту.
  • Идентификация вызова: служба может идентифицировать и отображать информацию о вызове через пользовательский интерфейс.
SYSTEM_GALLERY Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет пользователям пользовательский интерфейс для хранения, организации и отображения своих видео и изображений.
SYSTEM_AUTOMOTIVE_CLUSTER Все из:
  • Приложение является системным приложением на Automotive.
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение позволяет использовать дисплей автомобильной приборной панели (обычно рядом с рулевым колесом), чтобы пользователи могли отвечать на телефонные звонки и получать доступ к спискам контактов и журналам вызовов.
COMPANION_DEVICE_WATCH Приложение может делать запросы на присоединение к устройству часов и управление им (используя API, предоставляемый классом CompanionDeviceManager ). Когда часы и приложение подключены через пользовательский интерфейс, предоставляемый приложением, пользователи могут управлять своими часами из приложения, включая синхронизацию контактов и календаря, а также управление уведомлениями и телефонными звонками.
SYSTEM_AUTOMOTIVE_PROJECTION Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение позволяет проецировать экран телефона на дисплей автомобиля. Оно позволяет водителям получать доступ и управлять приложениями на телефонах Android, включая музыку, навигацию, телефонные звонки и поиск, используя механизмы ввода на транспортном средстве, включая сенсорное управление, управление на рулевом колесе и голосовые команды.
SYSTEM_SHELL Все из:
  • Приложение является системным приложением , которому назначен идентификатор Process.SHELL_UID .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет интерфейс, работающий на уровне командной строки, чтобы пользователи могли взаимодействовать с ОС Android. Например, отображать содержимое папки или запускать приложения. Команды оболочки могут выполняться программно приложениями (при наличии необходимых разрешений) или из инструмента ADB.
SYSTEM_CONTACTS Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет пользовательский интерфейс для управления контактами (например, просмотр, обмен, добавление, удаление или поиск контакта). Приложение обновляет поставщика контактов, когда пользователь обновляет свои контакты из приложения. Пользователи также могут звонить, отправлять электронные письма или текстовые сообщения своим контактам из приложения.
SYSTEM_SPEECH_RECOGNIZER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет услугу распознавания речи.
  • Когда приложение получает прямые трансляции с микрофона от другого приложения для распознавания речи, оно правильно приписывает использование микрофона вызывающему приложению и соответствующим образом обновляет статистику работы приложения.
SYSTEM_WIFI_COEX_MANAGER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение имеет службу, которая динамически устанавливает список каналов Wi-Fi, которые устройству следует избегать из-за помех со стороны сотовой связи.
SYSTEM_WELLBEING Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение должно предоставлять пользователям возможность уменьшить отвлекающие факторы и предоставлять статистику об использовании ими своего устройства (например, время, проведенное за экраном в неделю).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение должно показывать уведомления head-up для пользователей на ТВ-устройствах. Приложение также должно показывать текущие активные уведомления при отправке намерения android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (из SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение должно иметь возможность обнаруживать периферийные устройства поблизости. Оно должно иметь пользовательский интерфейс, в котором пользователь может подтвердить, что данное периферийное устройство должно быть связано с приложением и управляться им. Когда пользователь подтверждает, управляющее приложение предоставляет связанному приложению разрешение на доступ к периферийному устройству (например, его имени, адресу, классу и состоянию связывания), и оно может начать процесс связывания.
SYSTEM_DOCUMENT_MANAGER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • В приложении есть функция, которая позволяет пользователям получать доступ к существующим документам и создавать новые документы на устройстве.
  • Приложение должно соответствовать всем требованиям, изложенным в разделе 2.2.3 CDD Android. Программное обеспечение под заголовком [3.2.3.1/H-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER Все из:
  • Приложение является системным .
  • Приложение имеет службу, контролируемую android.permission.ACTIVITY_RECOGNITION , которая может выполнять распознавание активности (например, бег или езда на велосипеде).
SYSTEM_UI Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение имеет интерфейс для взаимодействия пользователей со своими телефонами. Например, главный экран телефона, навигация, недавние приложения, быстрые настройки, панель уведомлений, экран блокировки, регулировка громкости.
SYSTEM_TELEVISION_REMOTE_SERVICE Все из:
  • Приложение является системным приложением на Android TV.
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение имеет службу, которая может взаимодействовать с HID-устройством пульта дистанционного управления телевизором (например, по BLE), внедрять события (например, нажатия кнопок) и отправлять другие данные (например, аудиопоток с микрофона, встроенного в пульт) на платформу.
SYSTEM_UI_INTELLIGENCE Все из:
  • Предварительно установленная служба, которая посредством API-интерфейсов фреймворка (публичных или системных API) предоставляет на устройстве интеллектуальный процессор для функций пользовательского интерфейса системы (например, прогнозирование и отображение следующих приложений для пользователей).
  • Служба должна соответствовать всем требованиям, изложенным в разделе 9.8.6 «Захват контента » CDD для Android.
  • Служба не может иметь разрешение android.permission.INTERNET . Вместо этого она должна получать доступ к Интернету через четко определенные API в проекте с открытым исходным кодом.
  • Служба не может привязываться к приложениям, за исключением следующих системных приложений: Bluetooth, Контакты, Медиа, Телефония, SystemUI и компонентов, предоставляющих API Интернета. Каждая разрешенная привязка должна быть настроена явно через конфигурацию <allow-association> в конфигурации системы.
  • Служба не может обмениваться данными с приложениями, если нет прямого действия пользователя (например, пользователь явно не нажимает кнопку каждый раз, когда происходит обмен данными).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Все из:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет на устройстве интеллектуальный процессор для обработки окружающего звука (например, распознавание песен, воспроизводимых рядом с устройством).
SYSTEM_AUDIO_INTELLIGENCE Все из:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет на устройстве интеллектуальный процессор для звука (например, субтитры для видео, подкасты, телефонные звонки, видеозвонки и аудиосообщения).
SYSTEM_NOTIFICATION_INTELLIGENCE Все из:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет на устройстве интеллектуальный процессор для уведомлений (например, предлагающий ответы и действия для уведомлений о сообщениях).
SYSTEM_TEXT_INTELLIGENCE Все из:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет на устройстве интеллектуальный процессор для текста (например, обеспечивая перевод в реальном времени или автозаполнение).
SYSTEM_VISUAL_INTELLIGENCE Все из:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет интеллектуальный процессор на устройстве для визуальных функций, который включает анализ данных камеры. Например, поддержание экрана телефона активным, пока пользователь смотрит на него, или определение идеальной ориентации экрана на основе ориентации лица пользователя с фронтальной камеры на устройстве.
COMPANION_DEVICE_APP_STREAMING Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Допустимые варианты использования:
    • Потоковая передача, трансляция или зеркалирование приложений, которые позволяют осуществлять потоковую передачу, трансляцию или зеркалирование с устройства на базе Android, например мобильного телефона или планшета, на настольный компьютер или ноутбук.
  • При установлении первоначального соединения от устройства A к устройству B:
    • Сопряжение ДОЛЖНО быть авторизовано одноразовым кодом, отображаемым на исходном устройстве (A) и вводимым на подключенном устройстве (B). В качестве альтернативы, если оба устройства имеют по крайней мере одну совпадающую учетную запись в их Android AccountManager, пользователь МОЖЕТ подтвердить сопряжение, введя пароль учетной записи на подключенном устройстве (B).
    • Во время сопряжения оба устройства должны находиться на расстоянии 1 друг от друга.
  • Во время потоковой передачи оба устройства должны находиться на расстоянии 1 друг от друга.
  • Приложение может создавать и управлять каналами связи с подключенными устройствами, чтобы устройства могли обмениваться данными. Приложение и подключенные устройства ДОЛЖНЫ успешно аутентифицировать друг друга (например, доказав знание общих ключей) для установления этих каналов связи. Каналы связи ДОЛЖНЫ иметь защиту сквозного шифрования.
  • Приложение может отправлять уведомления с исходного устройства (A) на подключенное устройство (B), чтобы пользователь мог предпринять действия в соответствии с уведомлениями на подключенном устройстве (B).
  • Возможность потоковой передачи метаданных, необходимых для потоковой передачи приложений, на подключенное устройство (B), например, списка приложений, доступных на исходном устройстве (A).
  • Возможность потоковой передачи приложений с исходного устройства (A) на подключенное устройство (B) после того, как пользователь указал свое предпочтение этому с явным согласием (либо на исходном устройстве (A), либо на подключенном устройстве (B)).
  • Иметь возможность воспроизводить (вставлять) события, которые происходят в потоковом приложении на подключенном устройстве (B) обратно на исходное устройство (A). Например, воспроизводить событие касания на подключенном устройстве (B) в тех же координатах, что и на исходном устройстве (A), или воспроизводить событие ввода, которое произошло на подключенном устройстве (B) с той же семантикой ввода, что и на исходном устройстве (A).
  • Приложение может заменить поток микрофона исходного устройства потоком микрофона подключенного устройства, пока потоковое приложение использует микрофон.
  • Приложение захватывает звук с исходного устройства (A) и передает его на подключенное устройство (B).
  • РЕКОМЕНДУЕТСЯ заблокировать доступ к настройкам приложений и магазинам приложений с подключенного устройства (B).
  • Начиная с Android 16 , на подключенном устройстве ДОЛЖНЫ быть запрещены создание снимков экрана и чтение с экрана конфиденциального контента, такого как защищенные окна и поверхности (B).
  • ОБЯЗАТЕЛЬНО проверьте целостность сборки ОС подключенного устройства (например, с помощью аттестации устройства, как в VerifiedBootState ).
  • Транслируйте только те приложения, в реестре учетных записей на устройстве которых есть только одна соответствующая учетная запись (например, класс AccountManager на Android) на обоих устройствах. Если это не так, потоковая передача ДОЛЖНА быть авторизована одноразовым кодом, показанным на исходном устройстве (A) и введенным на подключенном устройстве (B). Обратите внимание, что в случае устройств, которые поддерживают многопользовательскую (а не многоаккаунты) с такой же надежной изоляцией данных, как в многопользовательской версии Android , пользователь считается устройством.
  • ОБЯЗАТЕЛЬНО прекратить потоковую передачу и немедленно отключиться от подключенного устройства (B), если срок действия аутентификации учетной записи на подключенном устройстве (B) истек или она была отозвана.
  • ДОЛЖЕН остановить потоковую передачу и отключиться от подключенного устройства (B) по истечении времени простоя подключенного устройства (B), на котором отображается отображаемый контент. МОЖЕТ оставить экран подключенного устройства включенным для таких случаев, как WakeLock, который оставляет экран устройства Android включенным. ДОЛЖЕН присутствовать тайм-аут простоя. Если подключенное устройство (B) не имеет собственного тайм-аута простоя, ДОЛЖЕН использоваться тайм-аут простоя максимум в 5 минут.
  • Если исходное устройство (A) использует фактор знания экрана блокировки (LSKF), то при заблокированном экране приложение НЕ ДОЛЖНО транслировать приложения на подключенное устройство (B), если только подключенное устройство (B) не имеет экрана блокировки и не разблокировано.
  • Если исходное устройство (A) управляется администратором, приложение ДОЛЖНО соблюдать установленные администратором политики включения или отключения потоковой передачи на близлежащие устройства (например, с помощью настроек DevicePolicyManager в Android).
  • ОБЯЗАТЕЛЬНО убедитесь, что удаленные дисплеи и все источники событий удаленного ввода принадлежат одному и тому же логическому устройству (например, удаленный дисплей и подключенная клавиатура) с точки зрения пользователя, а события маршрутизируются соответствующим образом.
  • Пользователь ДОЛЖЕН иметь возможность завершить потоковую передачу с исходного устройства (A), например, с помощью кнопки в постоянном уведомлении. Это поведение контролируется экраном блокировки, если на исходном устройстве (A) установлена ​​блокировка экрана. ДОЛЖЕН отображать эту постоянную возможность на исходном устройстве (A), которая всегда видна и находится выше сгиба.
  • ДОЛЖНО отображаться соответствующее уведомление на исходном устройстве (A), когда потоковая передача осуществляется на другом устройстве, например значок в строке состояния или постоянное уведомление.
DEVICE_POLICY_MANAGEMENT Все из:
  • Только OEM-производители могут предоставить эту роль приложению. Приложения не могут запрашивать эту роль, поскольку она изначально предоставляется имени пакета, определенному OEM-производителем при отправке устройства.
  • Приложение должно иметь возможность предоставлять управляемый профиль (владельца профиля) или управляемое устройство (владельца устройства), включая загрузку и установку соответствующего клиента политики устройств, чтобы стать владельцем устройства/профиля, если это необходимо.
  • При желании приложение может динамически обновлять ресурсы , такие как строки и чертежи, используемые для управления политиками устройств.
  • Приложение может быть либо предустановленным системным приложением, либо его можно загрузить и установить перед подготовкой.
  • В случаях предоставления полномочий владельцу профиля, когда приложение владельца роли установлено у определенного пользователя Android , оно должно быть установлено во всех применимых профилях этого пользователя.
SYSTEM_APP_PROTECTION_SERVICE Все из:
  • Приложение является системным .
  • Единственной целью приложения является обнаружение потенциально вредоносных приложений (приложений, которые могут подвергнуть риску пользователей, пользовательские данные или устройства, например, троянов, фишинговых и шпионских приложений) или нежелательного мобильного ПО .
  • Приложение должно соответствовать всем требованиям, изложенным в разделе 9.8.6 CDD Android. Данные на уровне ОС и внешние данные .
  • Приложение не должно объявлять обычное разрешение android.permission.INTERNET . Вместо этого оно должно получать доступ к Интернету через четко определенные API в проекте с открытым исходным кодом.
  • Приложение не должно привязываться к приложениям, за исключением следующих системных приложений: Контроллер разрешений и компоненты, предоставляющие API телефонии и Интернета. Каждая разрешенная привязка должна быть настроена явно через конфигурацию <allow-association> в конфигурации системы.
  • Приложение не должно обмениваться данными с другими приложениями, если только не происходит прямого действия пользователя (например, пользователь явно нажимает кнопку каждый раз, когда происходит обмен данными).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение должно передавать данные календаря с телефона iOS или Android пользователя на устройство Android Auto. Устройство Android Auto должно хранить эти данные календаря в поставщике календаря .
  • Приложение должно предоставлять компонент пользовательского интерфейса на телефоне, который пользователь может использовать для включения синхронизации календарей и выбора календарей для синхронизации. Приложение должно предоставлять компонент пользовательского интерфейса на телефоне, который пользователь может использовать для отключения синхронизации календарей.
  • Приложение должно работать без подключения к интернету. Например, с использованием прямых проводных или беспроводных подключений.
AUTOMOTIVE_NAVIGATION Все из:
  • В приложении есть активность, которую приложения могут вызывать с помощью неявных запросов намерений, которая показывает текущее местоположение пользователя и его окружение.
  • Приложение имеет активность, которую приложения могут вызывать с помощью неявных запросов намерений, что позволяет пользователю перемещаться в указанное географическое местоположение.
  • Приложение имеет активность, которая запускается на панели инструментов, когда приложение удерживает фокус навигации . Активность должна отображать текущее местоположение пользователя, его окружение и позволять ему перемещаться к указанному геоположению.
COMPANION_DEVICE_COMPUTER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Позвольте пользователям дублировать уведомления и получать доступ к фотографиям и медиафайлам с телефона на подключенном компьютере.
SYSTEM_SETTINGS_INTELLIGENCE По крайней мере одно из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Имеет сервис, который предоставляет интеллектуальные функции для приложения «Настройки», такие как предложения и поиск.
NOTES Все из:
  • Приложение имеет активность, которую приложения могут вызывать через неявные запросы намерений. Активность позволяет пользователю создавать заметку независимо от того, заблокирован экран или разблокирован.
  • Приложение должно поддерживать это, имея действие, которое имеет фильтр намерений для android.intent.action.CREATE_NOTE с категорией android.intent.category.DEFAULT . Действие также должно соответствующим образом обрабатывать намерение extra android.intent.extra.USE_STYLUS_MODE .
  • Приложение должно иметь оба атрибута манифеста showWhenLocked и turnScreenOn установленные в true .
COMPANION_DEVICE_GLASSES Приложение может делать запросы на присоединение к очкам и управление ими (используя API, предоставляемый классом CompanionDeviceManager ). Когда очки и приложение подключены с помощью пользовательского интерфейса, предоставляемого CDM, пользователи могут управлять своими очками, предоставляя им доступ к контактам и разрешение на управление уведомлениями и телефонными звонками.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Допустимые варианты использования:
    • Потоковая передача данных с устройства на базе Android, например мобильного телефона или планшета, на транспортное средство.
    • Потоковая передача данных с устройства на базе Android, например мобильного телефона или планшета, на устройство XR.
  • При установлении первоначального соединения от устройства A к устройству B:
    • Сопряжение ДОЛЖНО быть авторизовано одноразовым кодом, отображаемым на исходном устройстве (A) и вводимым на подключенном устройстве (B). В качестве альтернативы, если оба устройства имеют по крайней мере одну совпадающую учетную запись в их Android AccountManager, пользователь МОЖЕТ подтвердить сопряжение, введя пароль учетной записи на подключенном устройстве (B).
    • Во время сопряжения оба устройства должны находиться на расстоянии 1 друг от друга.
  • Во время потоковой передачи оба устройства должны находиться на расстоянии 1 друг от друга.
  • Приложение может создавать и управлять каналами связи с подключенными устройствами, чтобы устройства могли обмениваться данными. Приложение и подключенные устройства ДОЛЖНЫ успешно аутентифицировать друг друга (например, доказав знание общих ключей) для установления этих каналов связи. Каналы связи ДОЛЖНЫ иметь защиту сквозного шифрования.
  • Приложение может отправлять уведомления с исходного устройства (A) на подключенное устройство (B), чтобы пользователь мог предпринять действия в соответствии с уведомлениями на подключенном устройстве (B).
  • Возможность потоковой передачи метаданных, необходимых для потоковой передачи приложений, на подключенное устройство (B), например, списка приложений, доступных на исходном устройстве (A).
  • Возможность потоковой передачи приложений с исходного устройства (A) на подключенное устройство (B) после того, как пользователь указал свое предпочтение этому с явным согласием (либо на исходном устройстве (A), либо на подключенном устройстве (B)).
  • Иметь возможность воспроизводить (вставлять) события, которые происходят в потоковом приложении на подключенном устройстве (B) обратно на исходное устройство (A). Например, воспроизводить событие касания на подключенном устройстве (B) в тех же координатах, что и на исходном устройстве (A), или воспроизводить событие ввода, которое произошло на подключенном устройстве (B) с той же семантикой ввода, что и на исходном устройстве (A).
  • Приложение может заменить поток микрофона исходного устройства потоком микрофона подключенного устройства, пока потоковое приложение использует микрофон.
  • Приложение захватывает звук с исходного устройства (A) и передает его на подключенное устройство (B).
  • РЕКОМЕНДУЕТСЯ заблокировать доступ к настройкам приложений и магазинам приложений с подключенного устройства (B).
  • Начиная с Android 25Q2 на подключенном устройстве ДОЛЖНЫ быть запрещены создание снимков экрана и чтение с экрана конфиденциального контента, такого как защищенные окна и поверхности (B).
  • ОБЯЗАТЕЛЬНО проверьте целостность сборки ОС подключенного устройства (например, с помощью аттестации устройства, как в VerifiedBootState ).
  • Транслируйте только те приложения, в реестре учетных записей на устройстве которых есть только одна соответствующая учетная запись (например, класс AccountManager на Android) на обоих устройствах. Если это не так, потоковая передача ДОЛЖНА быть авторизована одноразовым кодом, показанным на исходном устройстве (A) и введенным на подключенном устройстве (B). Обратите внимание, что в случае устройств, которые поддерживают многопользовательскую (а не многоаккаунты) с такой же надежной изоляцией данных, как в многопользовательской версии Android , пользователь считается устройством.
  • ОБЯЗАТЕЛЬНО прекратить потоковую передачу и немедленно отключиться от подключенного устройства (B), если срок действия аутентификации учетной записи на подключенном устройстве (B) истек или она была отозвана.
  • ДОЛЖЕН остановить потоковую передачу и отключиться от подключенного устройства (B) по истечении времени простоя подключенного устройства (B), на котором отображается отображаемый контент. МОЖЕТ оставить экран подключенного устройства включенным для таких случаев, как WakeLock, который оставляет экран устройства Android включенным. ДОЛЖЕН присутствовать тайм-аут простоя. Если подключенное устройство (B) не имеет собственного тайм-аута простоя, ДОЛЖЕН использоваться тайм-аут простоя максимум в 5 минут.
  • Если исходное устройство (A) использует фактор знания экрана блокировки (LSKF), то при заблокированном экране приложение НЕ ДОЛЖНО транслировать приложения на подключенное устройство (B), если только подключенное устройство (B) не имеет экрана блокировки и не разблокировано.
  • Если исходное устройство (A) управляется администратором, приложение ДОЛЖНО соблюдать установленные администратором политики включения или отключения потоковой передачи на близлежащие устройства (например, с помощью настроек DevicePolicyManager в Android).
  • ОБЯЗАТЕЛЬНО убедитесь, что удаленные дисплеи и все источники событий удаленного ввода принадлежат одному и тому же логическому устройству (например, удаленный дисплей и подключенная клавиатура) с точки зрения пользователя, а события маршрутизируются соответствующим образом.
  • Пользователь ДОЛЖЕН иметь возможность завершить потоковую передачу с исходного устройства (A), например, с помощью кнопки в постоянном уведомлении. Это поведение контролируется экраном блокировки, если на исходном устройстве (A) установлена ​​блокировка экрана. ДОЛЖЕН отображать эту постоянную возможность на исходном устройстве (A), которая всегда видна и находится выше сгиба.
  • ДОЛЖНО отображаться соответствующее уведомление на исходном устройстве (A), когда потоковая передача осуществляется на другом устройстве, например значок в строке состояния или постоянное уведомление.
WALLET Один из:
  • Приложение имеет службу NFC APDU, которая статически регистрирует как минимум одно устройство AID в категории ПЛАТЕЖЕЙ.
  • Приложение реализует экземпляр QuickAccessWalletService .

1 Близость определяется тем, что два устройства находятся в пределах действия Bluetooth или Wi-Fi друг друга или используют одну и ту же локальную сеть.

,

Роль — это уникальное имя в системе, связанное с определенными разрешениями и привилегиями. Приложения могут запрашивать удержание определенных ролей через API Android, в частности, вызывая методы в классе RoleManager .

Ниже приведен список доступных ролей и соответствующих им требований:

Роль Требования
ASSISTANT По крайней мере одно из:
  • Приложение имеет активность, которая выполняет вспомогательные действия, учитывая информацию о контексте пользователя, когда он запросил помощь (например, имя пакета для текущего приложения переднего плана и его контекстная информация).
  • Приложение имеет постоянно включенную службу голосового взаимодействия, управляемую разрешением android.permission.BIND_VOICE_INTERACTION , которая может выполнять распознавание голоса и размещать сеансы активного голосового взаимодействия. Кроме того, приложение имеет явный флаг, указывающий, что служба способна обрабатывать действие помощи.
BROWSER Все из:
  • Приложение имеет активность, которую приложения могут вызывать с помощью неявных запросов намерений, которая отображает веб-страницу, соответствующую адресу http:// .
  • Приложение должно обрабатывать навигацию между ссылками. То есть, если пользователь просматривает веб-страницу и нажимает на адрес http:// в тексте, приложение должно иметь возможность отображать контент, соответствующий выбранной ссылке, без дополнительного вмешательства пользователя.
  • Приложение должно иметь возможность предоставлять веб-страницам текущую информацию о геолокации устройства по запросу, если пользователь одобряет запрос.
DIALER Все из:
  • Приложение имеет функцию, которую приложения могут вызывать с помощью неявных запросов намерений, что обеспечивает пользовательский интерфейс во время вызова, пока устройство находится в режиме вызова.
  • Приложение может обрабатывать входящие вызовы, отображать пользователю информацию, связанную с вызовом (например, номер телефона звонящего), а также позволять пользователю ответить на вызов или отклонить его.
  • Приложение предоставляет пользователю возможность совершать звонки и просматривать историю звонков на своем устройстве.
SMS Все из:
  • Приложение удовлетворяет всем требованиям, предъявляемым к SMS-приложениям .
  • В приложении есть действие, которое приложения могут вызывать с помощью неявных запросов намерений, которое может отправлять сообщение на номер телефона.
  • Приложение имеет службу, управляемую разрешением android.permission.SEND_RESPOND_VIA_MESSAGE и вызываемую неявными намерениями, которая может доставлять сообщения, полученные из приложения «Телефон», когда пользователь выбирает ответ через сообщение во время входящего вызова. Приложение может доставлять сообщения через собственную систему обмена сообщениями.
  • Приложение имеет два приемника вещания, один из которых управляется разрешением android.permission.BROADCAST_SMS , а другой — разрешением android.permission.BROADCAST_WAP_PUSH , которые могут прослушивать текстовые SMS и MMS-сообщения, отправляемые на устройство, соответственно. Затем приложение отвечает за отправку сообщений поставщику SMS и уведомление пользователей.
EMERGENCY Все из:
  • Приложение является системным .
  • Приложение имеет активность, которая представляет экстренную информацию пользователя. Любой может перейти на этот экран с помощью кнопки «Экстренный вызов» в активности «Экстренный набор».
HOME Приложение имеет активность, которая может запускать домашний экран, когда пользователь нажимает кнопку «Домой». Домашний экран должен отображать значки приложений, виджеты и поддерживать навигацию на основе кнопок или жестов (например, смахивание вверх для просмотра всех приложений).
CALL_REDIRECTION Приложение имеет службу, защищенную разрешением android.permission.BIND_CALL_REDIRECTION_SERVICE , к которому может привязываться фреймворк телекоммуникаций. Служба получает исходящий номер телефона от фреймворка телекоммуникаций и выполняет одно из следующих действий:
  • Разрешить сделать вызов как есть.
  • Измените исходящий номер для маршрутизации через прокси-номер.
  • Отмените вызов.
CALL_SCREENING Приложение имеет службу, доступ к которой ограничен разрешением android.permission.BIND_SCREENING_SERVICE , которое выполняет две функции:
  • Блокировка и фильтрация вызовов: служба может выбирать, какие вызовы следует направлять в приложение для набора номера на телефоне (и, возможно, включать звонок, учитывая режим «Не беспокоить» или громкость), а какие следует беззвучно перенаправлять на голосовую почту.
  • Идентификация вызова: служба может идентифицировать и отображать информацию о вызове через пользовательский интерфейс.
SYSTEM_GALLERY Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет пользователям пользовательский интерфейс для хранения, организации и отображения своих видео и изображений.
SYSTEM_AUTOMOTIVE_CLUSTER Все из:
  • Приложение является системным приложением на Automotive.
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение позволяет использовать дисплей автомобильной приборной панели (обычно рядом с рулевым колесом), чтобы пользователи могли отвечать на телефонные звонки и получать доступ к спискам контактов и журналам вызовов.
COMPANION_DEVICE_WATCH Приложение может делать запросы на присоединение к устройству часов и управление им (используя API, предоставляемый классом CompanionDeviceManager ). Когда часы и приложение подключены через пользовательский интерфейс, предоставляемый приложением, пользователи могут управлять своими часами из приложения, включая синхронизацию контактов и календаря, а также управление уведомлениями и телефонными звонками.
SYSTEM_AUTOMOTIVE_PROJECTION Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение позволяет проецировать экран телефона на дисплей автомобиля. Оно позволяет водителям получать доступ и управлять приложениями на телефонах Android, включая музыку, навигацию, телефонные звонки и поиск, используя механизмы ввода на транспортном средстве, включая сенсорное управление, управление на рулевом колесе и голосовые команды.
SYSTEM_SHELL Все из:
  • Приложение является системным приложением , которому назначен идентификатор Process.SHELL_UID .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет интерфейс, работающий на уровне командной строки, чтобы пользователи могли взаимодействовать с ОС Android. Например, отображать содержимое папки или запускать приложения. Команды оболочки могут выполняться программно приложениями (при наличии необходимых разрешений) или из инструмента ADB.
SYSTEM_CONTACTS Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет пользовательский интерфейс для управления контактами (например, просмотр, обмен, добавление, удаление или поиск контакта). Приложение обновляет поставщика контактов, когда пользователь обновляет свои контакты из приложения. Пользователи также могут звонить, отправлять электронные письма или текстовые сообщения своим контактам из приложения.
SYSTEM_SPEECH_RECOGNIZER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Приложение предоставляет услугу распознавания речи.
  • Когда приложение получает потоки микрофона в прямом эфире из другого приложения для распознавания речи, оно правильно приписывает использование микрофона в приложение Calling и соответствующим образом обновляет статистику операции приложения.
SYSTEM_WIFI_COEX_MANAGER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение имеет сервис, который динамически устанавливает список каналов Wi-Fi, которых устройство должно избежать использования из-за сотовых помех.
SYSTEM_WELLBEING Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение должно предоставить пользователям возможность уменьшить отвлечение и предоставить пользователям статистику о том, как они используют свое устройство (например, время экрана в неделю).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение должно показывать уведомления для пользователей на телевизионных устройствах. Приложение также должно показывать текущие активные уведомления при отправке намерения android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (из Systemui).
SYSTEM_COMPANION_DEVICE_PROVIDER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение должно быть в состоянии обнаружить периферийные устройства в его окрестностях. У него должен быть пользовательский интерфейс, в котором пользователь может подтвердить, что данное периферийное устройство должно быть связано с приложением и управляемым. Когда пользователь подтверждает, управляющее приложение предоставляет соответствующее разрешение приложения для доступа к периферийному устройству (например, его имя, адрес, класс и состояние связывания), и оно может запустить процесс связи.
SYSTEM_DOCUMENT_MANAGER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение имеет действие, которое позволяет пользователям получить доступ к существующим документам и создавать новые документы на устройстве.
  • Приложение должно выполнить все требования, изложенные в разделе Android CDD 2.2.3. Программное обеспечение под заголовком [3.2.3.1/h-0-1] .
SYSTEM_ACTIVITY_RECOGNIZER Все:
  • Приложение является системным приложением .
  • Приложение имеет сервис, закрытую android.permission.ACTIVITY_RECOGNITION , который может выполнять распознавание деятельности (например, запуск или езда на велосипеде).
SYSTEM_UI Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение имеет интерфейс для пользователей для взаимодействия со своими телефонами. Например, основной экран телефона, навигация, последние приложения, быстрые настройки, панель уведомлений, экрана блокировки, управление громкости.
SYSTEM_TELEVISION_REMOTE_SERVICE Все:
  • Приложение - это системное приложение на Android TV.
  • Только OEM -производители могут предоставить эту роль приложению.
  • В приложении есть сервис, который может общаться с устройством HID с удаленным управлением телевизором (например, через BLE), события ввода (например, нажатия кнопок) и отправлять другие данные (например, аудио -поток из микрофона, встроенного в пульт) в платформу.
SYSTEM_UI_INTELLIGENCE Все:
  • Будучи заранее установленным сервисом, которая предоставляет Framework API (публичные или системные API), интеллектуального процессора на устройстве для функций системного пользовательского интерфейса (например, прогнозирование и отображение следующих приложений для пользователей).
  • Сервис должен выполнить все требования, изложенные в разделе Android CDD 9.8.6 .
  • У сервиса не может быть разрешение android.permission.INTERNET . Вместо этого он должен получить доступ к Интернету с помощью четко определенных API в проекте с открытым исходным кодом.
  • Служба не может привязаться к приложениям, за исключением следующих системных приложений: Bluetooth, контакты, носитель, телефония, системные и компоненты, обеспечивающие интернет -API. Каждое разрешенное привязка должно быть четко настроено через конфигурацию <allow-association> в конфигурации системы.
  • Служба не может обмениваться данными с приложениями, если не существует прямого действия пользователя (например, пользователь явно нажимает кнопку каждый раз, когда данные общие).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE Все:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предварительно установившаяся сервис предоставляет интеллектуальный процессор настройки для окружающего аудио (например, распознавание песен, играющих рядом с устройством).
SYSTEM_AUDIO_INTELLIGENCE Все:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предварительно установившаяся служба предоставляет интеллектуальный процессор на устройстве для аудио (например, подписание видео, подкасты, телефонные звонки, видеозвонки и аудио-сообщения).
SYSTEM_NOTIFICATION_INTELLIGENCE Все:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет интеллектуальный процессор на устройстве для уведомлений (например, предлагает ответы и действия для уведомлений о сообщениях).
SYSTEM_TEXT_INTELLIGENCE Все:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предварительно установленная служба предоставляет интеллектуальный процессор на устройстве для текста (например, обеспечение живого перевода или автозаполнения).
SYSTEM_VISUAL_INTELLIGENCE Все:
  • Идентично условиям для SYSTEM_UI_INTELLIGENCE , за исключением того, что предустановленная служба предоставляет интеллектуальный процессор на грани для визуальных функций, который включает анализ данных камеры. Например, сохраняет экраны телефона, пока пользователь смотрит на него или определяет идеальную ориентацию экрана на основе ориентации лица пользователя от фронтальной камеры на устройстве.
COMPANION_DEVICE_APP_STREAMING Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Разрешенные варианты использования:
    • Потоковая передача, литья или зеркалирование приложений, которые позволяют потоковое, литье или зеркалирование, от устройства с мощностью Android, такого как мобильный телефон или планшет, до настольного или ноутбука.
  • При установлении начального соединения от устройства A к устройству B:
    • Пары должно быть авторизовано одноразовым кодом, отображаемым на исходном устройстве (A) и введено на подключенное устройство (B). В качестве альтернативы, если оба устройства имеют как минимум одну соответствующую учетную запись в своем Android Account Manager, пользователь может подтвердить спаривание, введя пароль учетной записи на подключенное устройство (B).
    • Оба устройства должны быть в непосредственной близости 1 друг от друга во время сочетания.
  • Оба устройства должны быть в непосредственной близости 1 друг от друга во время потоковой передачи.
  • Приложение может создавать и управлять каналами связи с подключенными устройствами, чтобы устройства могли обмениваться данными. Приложение и подключенные устройства должны успешно аутентифицировать друг друга (например, доказывая свои знания об общих ключах), чтобы установить эти каналы связи. Каналы связи должны иметь сквозную защиту шифрования.
  • Приложение может отправлять уведомления с исходного устройства (a) на подключенное устройство (b), чтобы позволить пользователю принять меры на уведомлениях на подключенном устройстве (B).
  • Иметь возможность транслировать метаданные, необходимые для потоковой передачи приложений на подключенное устройство (b), например, список приложений, доступных на исходном устройстве (A).
  • Иметь возможность транслировать приложения из исходного устройства (a) в подключенное устройство (b) после того, как пользователь указал, что их предпочтения сделать с явным согласием (либо на исходном устройстве (A), либо на подключенном устройстве (B)).
  • Иметь возможность воспроизводить (впрыскивать) события, которые происходят в потоковом приложении на подключенном устройстве (b) обратно на исходное устройство (A). Например, воспроизведение сенсорного события на подключенном устройстве (b) в тех же координатах, что и на исходном устройстве (A), или воспроизведение входного события, которое произошло на подключенном устройстве (b) с той же семантикой ввода, что и на исходном устройстве (A).
  • Приложение может заменить поток микрофона исходного устройства подключенным потоком микрофона подключенного устройства, в то время как потоковое приложение использует микрофон.
  • Приложение захватывает аудио из исходного устройства (A) и передает его на подключенное устройство (B).
  • Рекомендуется блокировать доступ к настройкам приложений и хранилищ приложений с подключенного устройства (b).
  • Запуск Android 16 , снимок экрана и считывание экрана конфиденциального контента, такого как безопасные окна и поверхности , должны быть предотвращены на подключенном устройстве (B).
  • Необходимо проверить целостность сборки ОС подключенного устройства (например, с помощью аттестации устройства, как в VerifiedBootState ).
  • Только приложения потоковой передачи, где в реестре учетных записей на конструкции есть только одна соответствующая учетная запись (например, класс AccountManager на Android) на обоих устройствах. Если это не так, потоковая передача должна быть авторизована одноразовым кодом, показанным на исходном устройстве (A), и введена на подключенное устройство (B). Обратите внимание, что в случае устройств, которые поддерживают многопользовательские (а не мульти-аккинты) с той же надежной изоляцией данных, как и в Android Multi-User , пользователь считает устройство.
  • Должен прекратить потоковую передачу и отключить от подключенного устройства (b) немедленно, если истекает аутентификация учетной записи на подключенном устройстве (B) или отменена.
  • Необходимо прекратить потоковую передачу и отключить от подключенного устройства (b) после тайм -аута на холостом ходу подключенного устройства (b), на котором видно содержимое дисплея. Может держать экран подключенного устройства для таких случаев, как Wakelock, которые поддерживают экран устройства Android. Должен присутствовать на праздничном тайме. Если подключенное устройство (B) не имеет тайм -аута на холостое время, необходимо использовать тайм -аут простоя максимум 5 минут.
  • Если исходное устройство (A) использует фактор знания экрана блокировки (LSKF), когда экран заблокирован, приложение не должно транслировать приложения на подключенное устройство (b), если только подключенное устройство (B) не имеет экрана блокировки и не разблокировано.
  • Если исходное устройство (а) управляется администратором, приложение должно уважать политики, установленные администратором, в отношении включения или отключения потоковой передачи на близлежащие устройства (например, с использованием настройки DevicePolicyManager в Android).
  • Должен убедиться, что удаленные дисплеи и все источники удаленных входных событий принадлежат одному и тому же логическому устройству (например, удаленное отображение и подключенную клавиатуру) с точки зрения пользователя, а события направляются соответствующим образом.
  • Пользователь должен иметь возможность завершить потоковую передачу от исходного устройства (A), например, с помощью кнопки в постоянном уведомлении. Это поведение закрывается на экране блокировки, если у исходного устройства (A) есть набор блокировки экрана. Необходимо показывать эту постоянную доступность на исходном устройстве (а), которое всегда видно и выше сгиба.
  • Необходимо показывать доступность на исходном устройстве (а) Когда потоковая передача происходит на другом устройстве, например, значке в строке состояния или постоянное уведомление.
DEVICE_POLICY_MANAGEMENT Все:
  • Только OEM -производители могут предоставить эту роль приложению. Приложения не могут запросить эту роль, поскольку она предназначена для того, чтобы быть предоставлена ​​вне ящика к имени пакета, определяемому OEM при отправке устройства.
  • Приложение должно иметь возможность предоставить управляемый профиль (владелец профиля) или управляемое устройство (владелец устройства), включая загрузку и установку соответствующего клиента политики устройства, чтобы быть владельцем устройства/профиля, если это необходимо.
  • Приложение может необязательно, динамически обновлять ресурсы , такие как строки, рисунки, используемые для управления политикой устройств.
  • Приложение может быть либо предварительно установленным системным приложением, либо быть загруженным и установленным, до обеспечения.
  • Для случаев предоставления владельца профиля, когда приложение для держателя роли установлено для данного пользователя Android , оно должно быть установлено на всех применимых профилях для этого пользователя.
SYSTEM_APP_PROTECTION_SERVICE Все:
  • Приложение является системным приложением .
  • Единственная цель приложения - обнаружить потенциально вредные приложения (приложения, которые могут поставить пользователей, пользовательские данные или устройства, такие как трояны, фишинговые и шпионские приложения) или мобильное нежелательное программное обеспечение .
  • Приложение должно выполнить все требования, изложенные в разделе 9.8.6 Android CDD. Данные уровня ОС и окружающая среда .
  • Приложение не должно объявлять android.permission.INTERNET нормальное разрешение. Вместо этого он должен получить доступ к Интернету с помощью четко определенных API в проекте с открытым исходным кодом.
  • Приложение не должно связываться с приложениями, за исключением следующих системных приложений: контроллер разрешения и компоненты, обеспечивающие телефонию и интернет -API. Каждое разрешенное привязка должно быть четко настроено через конфигурацию <allow-association> в конфигурации системы.
  • Приложение не должно делиться данными с приложениями, если не существует прямого действия пользователя (например, пользователь явно нажимает кнопку каждый раз, когда данные обмениваются данными).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Приложение должно передавать данные календаря с iOS пользователя или телефона Android на Android Auto Device. Android Auto Device должно сохранить эти календарные данные в поставщике календаря .
  • Приложение должно предоставить компонент пользовательского интерфейса на телефоне, который пользователь может использовать для включения синхронизации календаря и выбрать календари для синхронизации. Приложение должно предоставить компонент пользовательского интерфейса на телефоне, который пользователь может использовать для отключения синхронизации календаря.
  • Приложение должно работать без подключения к Интернету. Например, используя прямые проводные или беспроводные соединения.
AUTOMOTIVE_NAVIGATION Все:
  • В приложении есть действие, которое приложения могут вызвать через неявные запросы намерения, которые показывают текущее местоположение и окружение пользователя.
  • Приложение имеет действие, которое приложения могут вызвать с помощью неявных запросов намерения, что позволяет пользователю перейти к указанному геолокации.
  • Приложение имеет деятельность, которая запускается на кластере приборов, когда приложение удерживает фокусировку навигации . Занятие должно показать текущее местоположение пользователя, окружение и позволить им перейти к указанному геолокации.
COMPANION_DEVICE_COMPUTER Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Позвольте пользователям отражать уведомления и получить доступ к фотографиям и носителю с телефона на подключенном компьютере.
SYSTEM_SETTINGS_INTELLIGENCE По крайней мере, один из:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Имеет сервис, который предоставляет функции разведки для приложения настроек, например, предложения и поиск.
NOTES Все:
  • Приложение имеет действие, которое приложения могут вызвать через неявные запросы намерения. Активность позволяет пользователю создавать заметку независимо от того, заблокирован ли экран или разблокирован.
  • Приложение должно поддерживать это, имея деятельность, которая имеет фильтр намерения для android.intent.action.CREATE_NOTE с категорией android.intent.category.DEFAULT . Задание также должно надлежащим образом обрабатывать намерения Extra android.intent.extra.USE_STYLUS_MODE .
  • В приложении должно быть обоих манифестных атрибутов, которые true showWhenLocked , и turnScreenOn .
COMPANION_DEVICE_GLASSES Приложение может сделать запросы, чтобы быть связанными и управлять устройством очков (с помощью API, предоставленного классом CompanionDeviceManager ). Когда устройство очков и приложение подключаются с использованием пользовательского интерфейса, предоставленный CDM, пользователи могут управлять своим устройством очков, предоставляя ему доступ к контактам и разрешение на управление уведомлениями и телефонными звонками.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Все:
  • Приложение является системным приложением .
  • Только OEM -производители могут предоставить эту роль приложению.
  • Разрешенные варианты использования:
    • Потоковая трансляция приложения с устройства с Android, такого как мобильный телефон или планшет, на автомобиль.
    • Потоковая приложение с устройства с мощностью Android, такого как мобильный телефон или планшет, до устройства XR.
  • При установлении начального соединения от устройства A к устройству B:
    • Пары должно быть авторизовано одноразовым кодом, отображаемым на исходном устройстве (A) и введено на подключенное устройство (B). В качестве альтернативы, если оба устройства имеют как минимум одну соответствующую учетную запись в своем Android Account Manager, пользователь может подтвердить спаривание, введя пароль учетной записи на подключенное устройство (B).
    • Оба устройства должны быть в непосредственной близости 1 друг от друга во время сочетания.
  • Оба устройства должны быть в непосредственной близости 1 друг от друга во время потоковой передачи.
  • Приложение может создавать и управлять каналами связи с подключенными устройствами, чтобы устройства могли обмениваться данными. Приложение и подключенные устройства должны успешно аутентифицировать друг друга (например, доказывая свои знания об общих ключах), чтобы установить эти каналы связи. Каналы связи должны иметь сквозную защиту шифрования.
  • Приложение может отправлять уведомления с исходного устройства (a) на подключенное устройство (b), чтобы позволить пользователю принять меры на уведомлениях на подключенном устройстве (b).
  • Иметь возможность транслировать метаданные, необходимые для потоковой передачи приложений на подключенное устройство (b), например, список приложений, доступных на исходном устройстве (A).
  • Иметь возможность транслировать приложения из исходного устройства (a) в подключенное устройство (b) после того, как пользователь указал, что их предпочтения сделать с явным согласием (либо на исходном устройстве (A), либо на подключенном устройстве (B)).
  • Иметь возможность воспроизводить (впрыскивать) события, которые происходят в потоковом приложении на подключенном устройстве (b) обратно на исходное устройство (A). Например, воспроизведение сенсорного события на подключенном устройстве (b) в тех же координатах, что и на исходном устройстве (A), или воспроизведение входного события, которое произошло на подключенном устройстве (b) с той же семантикой ввода, что и на исходном устройстве (A).
  • Приложение может заменить поток микрофона исходного устройства подключенным потоком микрофона подключенного устройства, в то время как потоковое приложение использует микрофон.
  • Приложение захватывает аудио из исходного устройства (A) и передает его на подключенное устройство (B).
  • Рекомендуется блокировать доступ к настройкам приложений и хранилищ приложений с подключенного устройства (b).
  • Запуск экрана Android 25Q2 и чтение экрана конфиденциального контента, такого как безопасные окна и поверхности , должны быть предотвращены на подключенном устройстве (B).
  • Необходимо проверить целостность сборки ОС подключенного устройства (например, с помощью аттестации устройства, как в VerifiedBootState ).
  • Только приложения потоковой передачи, где в реестре учетных записей на конструкции есть только одна соответствующая учетная запись (например, класс AccountManager на Android) на обоих устройствах. Если это не так, потоковая передача должна быть авторизована одноразовым кодом, показанным на исходном устройстве (A), и введена на подключенное устройство (B). Обратите внимание, что в случае устройств, которые поддерживают многопользовательские (а не мульти-аккинты) с той же надежной изоляцией данных, как и в Android Multi-User , пользователь считает устройство.
  • Должен прекратить потоковую передачу и отключить от подключенного устройства (b) немедленно, если истекает аутентификация учетной записи на подключенном устройстве (B) или отменена.
  • Необходимо прекратить потоковую передачу и отключить от подключенного устройства (b) после тайм -аута на холостом ходу подключенного устройства (b), на котором видно содержимое дисплея. Может держать экран подключенного устройства для таких случаев, как Wakelock, которые поддерживают экран устройства Android. Должен присутствовать на праздничном тайме. Если подключенное устройство (B) не имеет тайм -аута на холостое время, необходимо использовать тайм -аут простоя максимум 5 минут.
  • Если исходное устройство (A) использует фактор знания экрана блокировки (LSKF), когда экран заблокирован, приложение не должно транслировать приложения на подключенное устройство (b), если только подключенное устройство (B) не имеет экрана блокировки и не разблокировано.
  • Если исходное устройство (а) управляется администратором, приложение должно уважать политики, установленные администратором, в отношении включения или отключения потоковой передачи на близлежащие устройства (например, с использованием настройки DevicePolicyManager в Android).
  • Должен убедиться, что удаленные дисплеи и все источники удаленных входных событий принадлежат одному и тому же логическому устройству (например, удаленное отображение и подключенную клавиатуру) с точки зрения пользователя, а события направляются соответствующим образом.
  • Пользователь должен иметь возможность завершить потоковую передачу от исходного устройства (A), например, с помощью кнопки в постоянном уведомлении. Это поведение закрывается на экране блокировки, если у исходного устройства (A) есть набор блокировки экрана. Необходимо показывать эту постоянную доступность на исходном устройстве (а), которое всегда видно и выше сгиба.
  • Необходимо показывать доступность на исходном устройстве (а) Когда потоковая передача происходит на другом устройстве, например, значке в строке состояния или постоянное уведомление.
WALLET Один из:
  • В приложении есть услуга NFC APDU, которая статически регистрирует как минимум одну помощь в категории платежей.
  • Приложение реализует экземпляр QuickAccessWalletService .

1 Близость определяется двумя устройствами, находящимися в пределах диапазона Bluetooth или Wi-Fi друг друга, или с использованием одной и той же локальной сети.