Funciones de Android

Un rol es un nombre único dentro del sistema asociado con ciertos permisos y privilegios. Las aplicaciones pueden solicitar desempeñar ciertos roles a través de la API de Android, específicamente invocando métodos en la clase RoleManager .

Consulte la siguiente lista para conocer los roles disponibles y sus requisitos correspondientes.

Role Requisitos
ASISTENTE Al menos uno de:
  • La aplicación tiene una actividad que realiza acciones de asistencia, dada la información sobre el contexto del usuario cuando solicitó la asistencia (por ejemplo, el nombre del paquete de la aplicación en primer plano actual y su información contextual).
  • La aplicación tiene un servicio de interacción de voz siempre activo, controlado por el permiso android.permission.BIND_VOICE_INTERACTION , que puede realizar reconocimiento de voz y albergar sesiones activas de interacción de voz. Además, la aplicación tiene una bandera explícita que indica que el servicio es capaz de manejar la acción de asistencia.
NAVEGADOR Todo:
  • La aplicación tiene una actividad, que las aplicaciones pueden invocar a través de solicitudes de intención implícitas, que muestra una página web correspondiente a una dirección http:// .
  • La aplicación necesita manejar la navegación entre enlaces. Es decir, si el usuario está viendo una página web y hace clic en una dirección http:// en el texto, la aplicación debe poder mostrar el contenido correspondiente al enlace seleccionado sin intervención adicional del usuario.
  • La aplicación debe poder proporcionar la información de geolocalización actual del dispositivo a las páginas web cuando se solicita y el usuario aprueba la solicitud.
MARCADOR Todo:
  • La aplicación tiene una actividad, que las aplicaciones pueden invocar a través de solicitudes de intención implícitas, que proporciona la interfaz de usuario durante la llamada mientras el dispositivo está en una llamada.
  • La aplicación puede manejar las intenciones de las llamadas entrantes, mostrar la información relacionada con la llamada (por ejemplo, el número de teléfono de la persona que llama) al usuario y permitirle responder o rechazar la llamada.
  • La aplicación proporciona al usuario un medio para iniciar llamadas y ver un historial de llamadas en su dispositivo.
SMS Todo:
  • La aplicación cumple con todos los requisitos de las aplicaciones de SMS .
  • La aplicación tiene una actividad que las aplicaciones pueden invocar a través de solicitudes de intención implícitas, que pueden enviar un mensaje a un número de teléfono.
  • La aplicación tiene un servicio, controlado por el permiso android.permission.SEND_RESPOND_VIA_MESSAGE e invocable mediante intenciones implícitas, que puede entregar mensajes recibidos desde la aplicación Teléfono cuando el usuario opta por responder mediante mensaje durante una llamada entrante. La aplicación puede enviar mensajes a través de su propio sistema de mensajería.
  • La aplicación tiene dos receptores de transmisión, uno controlado por el permiso android.permission.BROADCAST_SMS y otro controlado por el permiso android.permission.BROADCAST_WAP_PUSH , que pueden escuchar mensajes SMS y MMS basados ​​en texto enviados al dispositivo, respectivamente. Luego, la aplicación es responsable de escribir los mensajes al proveedor de SMS y notificar a los usuarios.
EMERGENCIA Todo:
  • La aplicación es una aplicación del sistema .
  • La aplicación tiene una actividad que presenta la información de emergencia del usuario. Cualquiera puede navegar a esta pantalla a través del botón Emergencia en la actividad del Marcador de emergencia.
HOGAR La aplicación tiene una actividad que puede iniciar la pantalla de inicio cuando el usuario presiona el botón de inicio. La pantalla de inicio debe mostrar íconos de aplicaciones, widgets y admitir navegación basada en botones o gestos (por ejemplo, deslizar hacia arriba para ver todas las aplicaciones).
LLAMADA_REDIRECCIÓN La aplicación tiene un servicio, controlado por el permiso android.permission.BIND_CALL_REDIRECTION_SERVICE , al que el marco de Telecom puede vincularse. El servicio recibe el número de teléfono saliente del marco de Telecom y realiza una de las siguientes acciones:
  • Permita que la llamada se realice tal como está.
  • Cambie el número saliente para enrutarlo a través de un número proxy.
  • Cancelar la llamada.
LLAMADA_PROYECCIÓN La aplicación tiene un servicio, controlado por el permiso android.permission.BIND_SCREENING_SERVICE , que realiza dos funciones:
  1. Bloqueo/detección de llamadas: el servicio puede elegir qué llamadas deben enviarse a la aplicación de marcador del teléfono (y potencialmente sonar, dado DND/volumen) y cuáles deben enviarse silenciosamente al correo de voz.
  2. Identificación de llamadas: el servicio puede identificar y mostrar información sobre una llamada a través de una interfaz de usuario.
SISTEMA_GALERÍA Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación proporciona una interfaz de usuario para que los usuarios almacenen, organicen y muestren sus vídeos e imágenes.
SISTEMA_AUTOMOTIVE_CLUSTER Todo:
  • La aplicación es una aplicación del sistema en Automotive.
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación proporciona funcionalidad para una pantalla de grupo automotriz (generalmente adyacente al volante) para que los usuarios respondan llamadas telefónicas y accedan a listas de contactos y registros de llamadas.
COMPANION_DEVICE_WATCH La aplicación puede realizar solicitudes para asociarse y administrar un dispositivo de reloj (mediante la API proporcionada por la clase CompanionDeviceManager ). Una vez que el reloj y la aplicación están conectados a través de la interfaz de usuario proporcionada por la aplicación, los usuarios pueden administrar su reloj desde la aplicación, incluida la sincronización de contactos y el calendario, y la administración de notificaciones y llamadas telefónicas.
SISTEMA_AUTOMOTIVE_PROJECTION Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación permite proyectar la pantalla del teléfono en la pantalla del vehículo. Permite a los conductores acceder y controlar aplicaciones en teléfonos Android, incluida música, navegación, llamadas telefónicas y búsqueda de Google, utilizando mecanismos de entrada en el vehículo, incluidos controles táctiles, en el volante y comandos de voz.
SISTEMA_SHELL Todo:
  • La aplicación es una aplicación del sistema a la que se le asigna el UID Process.SHELL_UID .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación proporciona una interfaz que funciona en el nivel de línea de comandos para que los usuarios puedan interactuar con el sistema operativo Android. Por ejemplo, mostrar el contenido de una carpeta o iniciar aplicaciones. Los comandos de Shell se pueden ejecutar mediante programación mediante aplicaciones (siempre que se hayan otorgado los permisos necesarios) o desde la herramienta ADB.
CONTACTOS_SISTEMA Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación proporciona una interfaz de usuario para que los usuarios administren sus contactos (por ejemplo, ver, compartir, agregar, eliminar o buscar un contacto). La aplicación actualiza el proveedor de Contactos cuando el usuario actualiza sus contactos desde la aplicación. Los usuarios también pueden llamar, enviar correos electrónicos o mensajes de texto a sus contactos desde la aplicación.
SISTEMA_SPEECH_RECOGNIZER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación proporciona un servicio que puede realizar reconocimiento de voz.
  • Cuando la aplicación recibe transmisiones de micrófono en vivo desde otra aplicación para el reconocimiento de voz, atribuye correctamente el uso del micrófono a la aplicación de llamada y actualiza las estadísticas de operación de la aplicación en consecuencia.
SISTEMA_WIFI_COEX_MANAGER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación cuenta con un servicio que establece dinámicamente una lista de canales Wi-Fi que el dispositivo debe evitar usar debido a interferencias celulares.
SISTEMA_BIENESTAR Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación debe proporcionar a los usuarios funciones para reducir las distracciones y brindarles estadísticas sobre cómo usan su dispositivo (por ejemplo, el tiempo que pasan frente a la pantalla por semana).
SISTEMA_TELEVISION_NOTIFICATION_HANDLER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación debe mostrar notificaciones automáticas a los usuarios en dispositivos de TV. La aplicación también debe mostrar notificaciones activas actuales cuando se envía la intención android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (desde SystemUI).
SISTEMA_COMPANION_DEVICE_PROVIDER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación debe poder detectar dispositivos periféricos en su entorno. Debe tener una interfaz de usuario donde el usuario pueda confirmar que un dispositivo periférico determinado debe estar asociado y administrado por una aplicación. Una vez que el usuario confirma, la aplicación de administración otorga permiso a la aplicación asociada para acceder al dispositivo periférico (por ejemplo, su nombre, dirección, clase y estado de vinculación) y puede iniciar el proceso de vinculación.
SISTEMA_DOCUMENT_MANAGER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación tiene una actividad que permite a los usuarios acceder a documentos existentes y crear documentos nuevos en el dispositivo.
  • La aplicación debe cumplir con todos los requisitos descritos en la sección 2.2.3 del CDD de Android. Software bajo el título [3.2.3.1/H-0-1] .
SISTEMA_ACTIVIDAD_RECOGNIZER Todo:
  • La aplicación es una aplicación del sistema .
  • La aplicación tiene un servicio, controlado por android.permission.ACTIVITY_RECOGNITION , que puede realizar el reconocimiento de actividad (por ejemplo, correr o andar en bicicleta).
SISTEMA_UI Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación tiene una interfaz para que los usuarios interactúen con sus teléfonos. Por ejemplo, la pantalla principal del teléfono, navegación, aplicaciones recientes, configuración rápida, barra de notificaciones, pantalla de bloqueo, control de volumen.
SISTEMA_TELEVISION_REMOTE_SERVICE Todo:
  • La aplicación es una aplicación del sistema en Android TV.
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación tiene un servicio que puede comunicarse con el dispositivo HID del control remoto del televisor (por ejemplo, a través de BLE), inyectar eventos (por ejemplo, clics en botones) y enviar otros datos (por ejemplo, transmisión de audio desde un micrófono integrado en el control remoto). ) en la plataforma.
SISTEMA_UI_INTELLIGENCIA Todo:
  • Ser un servicio preinstalado que proporciona, a través de API de marco (API públicas o de sistema), un procesador inteligente en el dispositivo para las funciones de la interfaz de usuario del sistema (por ejemplo, predecir y mostrar las próximas aplicaciones para los usuarios).
  • El servicio debe cumplir con todos los requisitos descritos en la sección 9.8.6 Captura de contenido del CDD de Android.
  • No puede tener el permiso android.permission.INTERNET . En cambio, debe acceder a Internet a través de API bien definidas en un proyecto de código abierto.
  • No puede vincularse a aplicaciones, excepto a las siguientes aplicaciones del sistema: Bluetooth, Contactos, Medios, Telefonía, SystemUI y componentes que proporcionan API de Internet. Cada enlace permitido debe configurarse explícitamente a través de la configuración <allow-association> en la configuración del sistema.
  • No puede compartir datos con aplicaciones a menos que haya una acción directa del usuario (por ejemplo, el usuario presiona explícitamente un botón cada vez que se comparten los datos).
SISTEMA_AMBIENT_AUDIO_INTELLIGENCE Todo:
  • Idéntico a las condiciones de SYSTEM_UI_INTELLIGENCE , excepto que el servicio preinstalado proporciona un procesador inteligente en el dispositivo para audio ambiental (por ejemplo, reconociendo canciones que se reproducen cerca del dispositivo).
SISTEMA_AUDIO_INTELLIGENCIA Todo:
  • Idéntico a las condiciones de SYSTEM_UI_INTELLIGENCE , excepto que el servicio preinstalado proporciona un procesador inteligente para audio en el dispositivo (por ejemplo, subtitular videos, podcasts, llamadas telefónicas, videollamadas y mensajes de audio).
SISTEMA_NOTIFICACIÓN_INTELIGENCIA Todo:
  • Idéntico a las condiciones de SYSTEM_UI_INTELLIGENCE , excepto que el servicio preinstalado proporciona un procesador inteligente en el dispositivo para notificaciones (por ejemplo, sugiere respuestas y acciones para notificaciones de mensajes).
INTELIGENCIA_TEXTO_SISTEMA Todo:
  • Idéntico a las condiciones de SYSTEM_UI_INTELLIGENCE , excepto que el servicio preinstalado proporciona un procesador inteligente para texto en el dispositivo (por ejemplo, proporciona traducción en vivo o autocompletar).
SISTEMA_VISUAL_INTELLIGENCIA Todo:
  • Idéntico a las condiciones de SYSTEM_UI_INTELLIGENCE , excepto que el servicio preinstalado proporciona un procesador inteligente en el dispositivo para funciones visuales que implican el análisis de datos de la cámara. Por ejemplo, mantener viva la pantalla del teléfono mientras el usuario la mira o determinar la orientación ideal de la pantalla en función de la orientación de la cara del usuario desde la cámara frontal del dispositivo.
COMPANION_DEVICE_APP_STREAMING Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación puede crear y gestionar canales de comunicación con dispositivos conectados para que puedan intercambiar datos. La aplicación y los dispositivos conectados deben autenticarse entre sí correctamente (por ejemplo, demostrando su conocimiento de las claves compartidas) para establecer estos canales de comunicación. Los canales de comunicación deben tener protección de cifrado.
  • La aplicación puede enviar notificaciones desde el dispositivo local al dispositivo conectado para permitir al usuario tomar medidas sobre las notificaciones en el dispositivo conectado.
  • Ser capaz de transmitir los metadatos necesarios para la transmisión de aplicaciones al dispositivo conectado, como la lista de aplicaciones disponibles en el dispositivo local.
  • Ser capaz de transmitir aplicaciones desde el dispositivo local al dispositivo conectado después de que el usuario haya indicado su deseo de hacerlo con su consentimiento explícito (ya sea en el teléfono o en el dispositivo conectado).
  • Ser capaz de reproducir (inyectar) eventos que suceden en una aplicación transmitida en un dispositivo conectado en el dispositivo local. Por ejemplo, reproducir un evento táctil en la tableta en las mismas coordenadas del teléfono.
  • La aplicación puede reemplazar la transmisión del micrófono del dispositivo local con la transmisión del micrófono de un dispositivo conectado mientras una aplicación transmitida usa el micrófono.
  • La aplicación captura audio del dispositivo y lo transmite al dispositivo conectado.
  • Debe bloquear la transmisión de la cámara del dispositivo local mientras una aplicación transmitida esté usando la cámara.
  • Debe verificar la integridad de la compilación del sistema operativo del dispositivo conectado (por ejemplo, utilizando la atestación del dispositivo como en VerifiedBootState ).
  • Transmita únicamente aplicaciones en las que solo haya una cuenta coincidente en el registro de cuentas del dispositivo (por ejemplo, AccountManager en Android) en ambos dispositivos. Si este no es el caso, la transmisión debe autorizarse con un código de un solo uso que se muestra en el dispositivo fuente y se ingresa en el dispositivo conectado. Tenga en cuenta que en el caso de dispositivos que admiten múltiples usuarios (y no múltiples cuentas) con el mismo aislamiento de datos garantizado como en Android multiusuario , un usuario cuenta como un dispositivo.
  • Debe detener la transmisión y desconectarse de un dispositivo conectado inmediatamente si la autenticación de la cuenta en el dispositivo conectado caduca o se revoca.
  • Debe verificar que un dispositivo conectado esté dentro del alcance de Bluetooth del dispositivo local antes y durante la transmisión.
  • Debe desconectar las sesiones de transmisión de aplicaciones en curso si el usuario no interactúa con el dispositivo conectado (por ejemplo, el teclado, la pantalla táctil y el mouse están inactivos) durante 5 minutos. Las aplicaciones de transmisión de vídeo están exentas de este requisito.
  • Si el dispositivo de origen utiliza Lockscreen Knowledge Factor (LSKF), cuando la pantalla está bloqueada, la aplicación no debe transmitir aplicaciones a un dispositivo conectado a menos que ese dispositivo tenga una pantalla de bloqueo y esté desbloqueado.
  • Si el dispositivo lo administra un administrador, la aplicación debe respetar las políticas establecidas por el administrador sobre cómo habilitar o deshabilitar la transmisión de aplicaciones a dispositivos cercanos (por ejemplo, usando la configuración de DevicePolicyManager en Android).
  • Debe garantizar que la pantalla remota y todas las fuentes de eventos de entrada remota pertenezcan al mismo dispositivo lógico (por ejemplo, una pantalla remota y un teclado conectado) desde la perspectiva del usuario y que los eventos se enruten en consecuencia.
  • El usuario debe poder finalizar la transmisión desde el dispositivo local, por ejemplo, usando un botón en una notificación persistente. Este comportamiento está controlado por la pantalla de bloqueo, si el teléfono tiene un bloqueo de pantalla configurado.
  • Debe mostrar una prestación en el dispositivo de origen cuando la transmisión se realiza en otro dispositivo, como un ícono en la barra de estado o una notificación persistente.
DEVICE_POLICY_MANAGEMENT Todo:
  • Solo los OEM pueden otorgar esta función a la aplicación. Las aplicaciones no pueden solicitar esta función, ya que debe otorgarse de forma inmediata al nombre del paquete definido por el OEM cuando se envía el dispositivo.
  • La aplicación debe poder aprovisionar un perfil administrado (propietario del perfil) o un dispositivo administrado (propietario del dispositivo), incluida la descarga/instalación del Cliente de Política de Dispositivo apropiado para que sea el propietario del dispositivo/perfil si es necesario.
  • Opcionalmente, la aplicación puede actualizar dinámicamente recursos como cadenas y elementos de diseño utilizados para la gestión de políticas de dispositivos.
  • La aplicación puede ser una aplicación del sistema preinstalada o descargarse e instalarse antes del aprovisionamiento.
  • Para los casos de aprovisionamiento del propietario del perfil, cuando la aplicación del titular de la función se instala en un usuario de Android determinado, se debe instalar en todos los perfiles aplicables para ese usuario.
SISTEMA_APP_PROTECTION_SERVICE Todo:
  • La aplicación es una aplicación del sistema .
  • El único propósito de la aplicación es detectar aplicaciones potencialmente dañinas (aplicaciones que podrían poner en riesgo a los usuarios, los datos de los usuarios o los dispositivos, como troyanos, aplicaciones de phishing y spyware) o software móvil no deseado .
  • La aplicación debe cumplir con todos los requisitos descritos en la sección CDD de Android 9.8.6 Captura de contenido .
  • No debe declarar el permiso normal android.permission.INTERNET . En lugar de ello, debe acceder a Internet a través de API bien definidas en un proyecto de código abierto.
  • No debe vincularse a aplicaciones, excepto a las siguientes aplicaciones del sistema: Controlador de permisos y componentes que proporcionan API de Internet. Cada enlace permitido debe configurarse explícitamente a través de la configuración <allow-association> en la configuración del sistema.
  • No debe compartir datos con aplicaciones a menos que haya una acción directa del usuario (por ejemplo, el usuario presiona explícitamente un botón cada vez que se comparten los datos).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • Debe transferir datos del calendario desde el teléfono iOS o Android del usuario al dispositivo Android Auto. El dispositivo Android Auto debe almacenar estos datos del calendario en el proveedor del calendario .
  • La aplicación debe proporcionar un componente de interfaz de usuario en el teléfono que el usuario pueda usar para activar la sincronización del calendario y seleccionar los calendarios que desea sincronizar. La aplicación debe proporcionar un componente de interfaz de usuario en el teléfono que el usuario pueda usar para desactivar la sincronización del calendario.
  • Debe funcionar sin conexión a Internet. Por ejemplo, mediante el uso de conexiones directas por cable o inalámbricas.
NAVEGACIÓN_AUTOMOTIVA Todo:
  • La aplicación tiene una actividad, que las aplicaciones pueden invocar a través de solicitudes de intención implícitas, que muestra la ubicación actual y el entorno del usuario.
  • La aplicación tiene una actividad que las aplicaciones pueden invocar a través de solicitudes de intención implícitas, que permite al usuario navegar a una ubicación geográfica específica.
  • Tiene una actividad que se inicia en el grupo de instrumentos cuando la aplicación mantiene el foco de navegación . La actividad debe mostrar la ubicación actual del usuario, sus alrededores y permitirle navegar a una ubicación geográfica específica.
COMPAÑERO_DISPOSITIVO_COMPUTERA Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • Permita a los usuarios duplicar notificaciones y acceder a fotos y medios desde el teléfono en una computadora conectada.
SISTEMA_CONFIGURACIÓN_INTELLIGENCIA Al menos uno de:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • Tiene un servicio que proporciona funciones inteligentes para la aplicación Configuración, como sugerencias y búsqueda.
NOTAS Todo:
  • La aplicación tiene una actividad que las aplicaciones pueden invocar a través de solicitudes de intención implícitas. La actividad permite al usuario crear una nota independientemente de si la pantalla está bloqueada o desbloqueada.
  • La aplicación debe admitir esto al tener una actividad que tenga un filtro de intención para android.intent.action.CREATE_NOTE con la categoría android.intent.category.DEFAULT . La actividad también debe manejar adecuadamente la intención adicional android.intent.extra.USE_STYLUS_MODE .
  • La aplicación debe tener los atributos del manifiesto showWhenLocked y turnScreenOn establecidos en true .
COMPAÑERO_DISPOSITIVO_GAFAS La aplicación puede realizar solicitudes para asociarse y administrar un dispositivo de gafas (mediante la API proporcionada por la clase CompanionDeviceManager ). Una vez que el dispositivo de gafas y la aplicación están conectados mediante la interfaz de usuario proporcionada por CDM, los usuarios pueden administrar su dispositivo de gafas dándole acceso a los contactos y permiso para administrar notificaciones y llamadas telefónicas.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING Todo:
  • La aplicación es una aplicación del sistema .
  • Solo los OEM pueden otorgar esta función a la aplicación.
  • La aplicación puede crear y administrar canales de comunicación con dispositivos conectados para que los dispositivos puedan intercambiar datos. La aplicación y los dispositivos conectados deben autenticarse entre sí correctamente (por ejemplo, demostrando su conocimiento de las claves compartidas) para establecer estos canales de comunicación. Los canales de comunicación deben tener protección de cifrado.
  • La aplicación puede enviar notificaciones desde el dispositivo local al dispositivo conectado para permitir al usuario tomar medidas sobre las notificaciones en el dispositivo conectado.
  • Ser capaz de transmitir los metadatos necesarios para la transmisión de aplicaciones al dispositivo conectado, como la lista de aplicaciones disponibles en el dispositivo local.
  • Ser capaz de transmitir aplicaciones desde el dispositivo local al dispositivo conectado después de que el usuario haya indicado su deseo de hacerlo con su consentimiento explícito (ya sea en el teléfono o en el dispositivo conectado).
  • Ser capaz de reproducir (inyectar) eventos que suceden en una aplicación transmitida en un dispositivo conectado en el dispositivo local. Por ejemplo, reproducir un evento táctil en la tableta en las mismas coordenadas que en el teléfono, o reproducir un evento de entrada que ocurrió en el dispositivo de gafas con la misma semántica de entrada que en el teléfono.
  • La aplicación puede reemplazar la transmisión del micrófono del dispositivo local con la transmisión del micrófono de un dispositivo conectado mientras una aplicación transmitida usa el micrófono.
  • La aplicación captura audio del dispositivo y lo transmite al dispositivo conectado.
  • Debe verificar la integridad de la compilación del sistema operativo del dispositivo conectado (por ejemplo, utilizando la atestación del dispositivo como en VerifiedBootState ).
  • Transmita únicamente aplicaciones en las que solo haya una cuenta coincidente en el registro de cuentas del dispositivo (por ejemplo, AccountManager en Android) en ambos dispositivos. Si este no es el caso, la transmisión debe autorizarse con un código de un solo uso que se muestra en el dispositivo fuente y se ingresa en el dispositivo conectado. Tenga en cuenta que en el caso de dispositivos que admiten múltiples usuarios (y no múltiples cuentas) con el mismo aislamiento de datos garantizado como en Android multiusuario , un usuario cuenta como un dispositivo.
  • Debe detener la transmisión y desconectarse de un dispositivo conectado inmediatamente si la autenticación de la cuenta en el dispositivo conectado caduca o se revoca.
  • Si el dispositivo de origen utiliza Lockscreen Knowledge Factor (LSKF), cuando la pantalla está bloqueada, la aplicación no debe transmitir aplicaciones a un dispositivo conectado a menos que ese dispositivo tenga una pantalla de bloqueo y esté desbloqueado.
  • Si el dispositivo lo administra un administrador, la aplicación debe respetar las políticas establecidas por el administrador sobre cómo habilitar o deshabilitar la transmisión a dispositivos cercanos (por ejemplo, usar la configuración de DevicePolicyManager en Android).
  • Debe garantizar que la pantalla remota y todas las fuentes de eventos de entrada remota pertenezcan al mismo dispositivo lógico (por ejemplo, una pantalla remota y un teclado conectado) desde la perspectiva del usuario y que los eventos se enruten en consecuencia.
  • El usuario debe poder finalizar la transmisión desde el dispositivo local, por ejemplo, usando un botón en una notificación persistente. Este comportamiento está controlado por la pantalla de bloqueo, si el teléfono tiene un bloqueo de pantalla configurado.
  • Debe mostrar una prestación en el dispositivo de origen cuando la transmisión se realiza en otro dispositivo, como un ícono en la barra de estado o una notificación persistente.