Роли 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 Все из:
  • Приложение является системным приложением , которому назначен UID 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-производители.
  • Приложение должно показывать всплывающие уведомления пользователям телевизоров. Кроме того, приложение должно показывать текущие активные уведомления при отправке намерения 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 «Захват контента» Android CDD.
  • Сервис не может иметь разрешение 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). В качестве альтернативы, если на обоих устройствах есть хотя бы одна совпадающая учётная запись в менеджере учётных записей Android, пользователь МОЖЕТ подтвердить сопряжение, введя пароль учётной записи на подключенном устройстве (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 Все из:
  • Приложение имеет активность, которую приложения могут вызывать через неявные запросы намерений, которая показывает текущее местоположение пользователя и его окружение.
  • Приложение имеет активность, которую приложения могут вызывать через неявные запросы намерений, что позволяет пользователю перемещаться в указанную геолокацию.
  • Приложение содержит функцию Activity, которая запускается на панели приборов, когда приложение удерживает фокус навигации . Функция Activity должна отображать текущее местоположение пользователя, его окружение и позволять ему проложить маршрут к указанной геолокации.
COMPANION_DEVICE_COMPUTER Все из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Дайте пользователям возможность дублировать уведомления и получать доступ к фотографиям и мультимедиа с телефона на подключенном компьютере.
SYSTEM_SETTINGS_INTELLIGENCE По крайней мере одно из:
  • Приложение является системным .
  • Эту роль приложению могут предоставить только OEM-производители.
  • Имеет службу, которая обеспечивает интеллектуальные функции для приложения «Настройки», такие как предложения и поиск.
NOTES Все из:
  • В приложении есть действие, которое приложения могут вызывать через неявные запросы намерений. Это действие позволяет пользователю создавать заметку независимо от того, заблокирован экран или разблокирован.
  • Приложение должно поддерживать это, имея Activity с фильтром намерений для android.intent.action.CREATE_NOTE с категорией android.intent.category.DEFAULT . Activity также должна соответствующим образом обрабатывать дополнительное намерение 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). В качестве альтернативы, если на обоих устройствах есть хотя бы одна совпадающая учётная запись в менеджере учётных записей Android, пользователь МОЖЕТ подтвердить сопряжение, введя пароль учётной записи на подключенном устройстве (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 друг друга или используют одну и ту же локальную сеть.