ASSISTANT |
Al menos uno de los siguientes:
- La app 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 app en primer plano actual y su información contextual).
- La app tiene un servicio de interacción por voz siempre activo que está restringido por el permiso
android.permission.BIND_VOICE_INTERACTION, que puede realizar reconocimiento de voz y alojar sesiones de interacción por voz activas.
Además, la app tiene una marca explícita que indica que el servicio es capaz de controlar la acción de asistencia.
|
BROWSER |
Todos los siguientes:
- La app tiene una actividad que las apps pueden invocar a través de solicitudes de intents implícitos, que muestra una página web correspondiente a una dirección
http://.
- La app debe controlar la navegación entre vínculos. Es decir, si el usuario está viendo una página web y hace clic en una dirección
http:// en el texto, la app debe poder mostrar el contenido correspondiente al vínculo seleccionado sin intervención adicional del usuario.
- La app debe poder proporcionar la información de ubicación geográfica actual del dispositivo a las páginas web cuando se solicite y el usuario apruebe la solicitud.
|
DIALER |
Todos los siguientes:
- La app tiene una actividad que las apps pueden invocar a través de solicitudes de intents implícitos, lo que proporciona la interfaz de usuario de llamada mientras el dispositivo está en una llamada.
- La app puede controlar los intents de llamadas entrantes, mostrarle al usuario la información relacionada con la llamada (por ejemplo, el número de teléfono de quien llama) y permitirle responder o rechazar la llamada.
- La app proporciona al usuario un medio para iniciar llamadas y ver un historial de llamadas en su dispositivo.
|
SMS |
Todos los siguientes:
- La app cumple con todos los requisitos para las apps de SMS.
- La app tiene una actividad que las apps pueden invocar a través de solicitudes de intents implícitos, que pueden enviar un mensaje a un número de teléfono.
- La app tiene un servicio controlado por el permiso
android.permission.SEND_RESPOND_VIA_MESSAGE y que se puede invocar con intents implícitos, que pueden entregar mensajes recibidos de la app de Teléfono cuando el usuario elige responder por mensaje durante una llamada entrante. La app puede entregar mensajes a través de su propio sistema de mensajería.
- La app tiene dos receptores de transmisiones, uno controlado por el permiso
android.permission.BROADCAST_SMS y otro controlado por el permiso android.permission.BROADCAST_WAP_PUSH, que pueden escuchar los mensajes SMS y MMS basados en texto que se envían al dispositivo, respectivamente. Luego, la app es responsable de escribir los mensajes en el proveedor de SMS y notificar a los usuarios.
|
EMERGENCY |
Todos los siguientes:
- La app es una app del sistema.
- La app tiene una actividad que presenta la información de emergencia del usuario.
Cualquier persona puede navegar a esta pantalla a través del botón de emergencia en la
actividad del marcador de emergencia.
|
HOME |
La app tiene una actividad que puede iniciar la pantalla principal cuando el usuario presiona el botón de inicio. La pantalla principal debe mostrar íconos de apps y widgets, y admitir la navegación basada en botones o gestos (por ejemplo, deslizar el dedo hacia arriba para ver todas las apps).
|
CALL_REDIRECTION |
La app tiene un servicio controlado por el permiso android.permission.BIND_CALL_REDIRECTION_SERVICE, al que se puede vincular el framework de telecomunicaciones. El servicio recibe el número de teléfono saliente del framework de telecomunicaciones y realiza una de las siguientes acciones:
- Permitir que se realice la llamada tal como está
- Cambiar el número saliente para que se enrute a través de un número de proxy
- Cancela la llamada.
|
CALL_SCREENING |
La app tiene un servicio controlado por el permiso android.permission.BIND_SCREENING_SERVICE, que realiza dos funciones:
- Bloqueo y filtrado de llamadas: El servicio puede elegir qué llamadas se deben enviar a la app de Teléfono (y, posiblemente, sonar, según el modo No interrumpir o el volumen) y cuáles se deben enviar de forma silenciosa al buzón de voz.
- Identificación de llamadas: El servicio puede identificar y mostrar información sobre una llamada a través de una interfaz de usuario.
|
SUPERVISION |
Todos los siguientes:
- La app es una
app del sistema
o un servicio preinstalado.
- Solo los OEMs pueden otorgar este rol a la app.
- El único propósito de la app es habilitar controles para que la madre, el padre o el tutor legal de un usuario administre el dispositivo.
- La app debe proporcionar un componente de IU en el dispositivo que el usuario autorizado pueda usar para desactivar el rol de supervisión.
|
SYSTEM_GALLERY |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app proporciona una IU para que los usuarios almacenen, organicen y muestren sus
videos e imágenes.
|
SYSTEM_AUTOMOTIVE_CLUSTER |
Todos los siguientes:
- La app es una app del sistema en Automotive.
- Solo los OEMs pueden otorgar este rol a la app.
- La app proporciona la capacidad de mostrar un clúster automotriz (por lo general, junto al volante) para que los usuarios respondan llamadas telefónicas y accedan a las listas de contactos y los registros de llamadas.
|
COMPANION_DEVICE_WATCH |
La app puede realizar solicitudes para asociarse con un dispositivo de reloj y administrarlo (con la API que proporciona la clase CompanionDeviceManager). Cuando el reloj
y la app se conectan a través de la IU que proporciona la app, los usuarios pueden
administrar el reloj desde la app, lo que incluye sincronizar los contactos y el calendario,
y administrar las notificaciones y las llamadas telefónicas.
|
SYSTEM_AUTOMOTIVE_PROJECTION |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app permite que la pantalla del teléfono se proyecte en la pantalla del vehículo. Permite que los conductores accedan a las apps de los teléfonos Android y las controlen, incluidas las de música, navegación, llamadas telefónicas y búsqueda, con mecanismos de entrada del vehículo, como la pantalla táctil, los controles del volante y los comandos por voz.
|
SYSTEM_SHELL |
Todos los siguientes:
- La app es una
app del sistema
a la que se le asigna el UID
Process.SHELL_UID.
- Solo los OEMs pueden otorgar este rol a la app.
- La app proporciona una interfaz que funciona a nivel de la línea de comandos para que los usuarios puedan interactuar con el SO Android. Por ejemplo, mostrar el contenido de una carpeta o iniciar apps. Las apps pueden ejecutar comandos de shell de manera programática (siempre que se hayan otorgado los permisos necesarios) o desde la herramienta de ADB.
|
SYSTEM_CONTACTS |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app proporciona una IU para que los usuarios administren sus contactos (por ejemplo,
ver, compartir, agregar, quitar o buscar un contacto). La app actualiza el proveedor de contactos cuando el usuario actualiza sus contactos desde la app. Los usuarios también pueden llamar, enviar correos electrónicos o enviar mensajes de texto a sus contactos desde la app.
|
SYSTEM_SPEECH_RECOGNIZER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app proporciona un servicio que puede realizar reconocimiento de voz.
- Cuando la app recibe transmisiones de micrófono en vivo de otra app para el reconocimiento de voz, atribuye correctamente el uso del micrófono a la app de llamadas y actualiza las estadísticas de operación de la app según corresponda.
|
SYSTEM_WIFI_COEX_MANAGER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app tiene un servicio que establece de forma dinámica una lista de canales de Wi-Fi que el dispositivo debe evitar usar debido a la interferencia de datos móviles.
|
SYSTEM_WELLBEING |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app debe proporcionar la capacidad de que los usuarios reduzcan las distracciones y brindarles estadísticas sobre cómo usan su dispositivo (por ejemplo, su tiempo de uso por semana).
|
SYSTEM_TELEVISION_NOTIFICATION_HANDLER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app debe mostrar notificaciones de atención a los usuarios en dispositivos de TV. La app también debe mostrar las notificaciones activas actuales cuando se envía el intent
android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (desde SystemUI).
|
SYSTEM_COMPANION_DEVICE_PROVIDER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app debe poder detectar dispositivos periféricos en sus cercanías. Debe tener una IU en la que el usuario pueda confirmar que un dispositivo periférico determinado debe asociarse con una app y administrarse por ella. Cuando el usuario confirma, la app de administración otorga a la app asociada permiso 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.
|
SYSTEM_DOCUMENT_MANAGER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app tiene una actividad que permite a los usuarios acceder a documentos existentes
y crear documentos nuevos en el dispositivo.
- La app debe cumplir con todos los requisitos que se describen en la sección 2.2.3 del CDD de Android. Software
en el encabezado
[3.2.3.1/H-0-1].
|
SYSTEM_ACTIVITY_RECOGNIZER |
Todos los siguientes:
- La app es una app del sistema.
- La app tiene un servicio controlado por
android.permission.ACTIVITY_RECOGNITION, que puede realizar el reconocimiento de actividad (por ejemplo, correr o andar en bicicleta).
|
SYSTEM_UI |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app tiene una interfaz para que los usuarios interactúen con sus teléfonos. Por ejemplo, la pantalla principal del teléfono, la navegación, las apps recientes, la configuración rápida, la barra de notificaciones, la pantalla de bloqueo y el control de volumen.
|
SYSTEM_TELEVISION_REMOTE_SERVICE |
Todos los siguientes:
- La app es una
app del sistema
en Android TV.
- Solo los OEMs pueden otorgar este rol a la app.
- La app tiene un servicio que puede comunicarse con el dispositivo HID del control remoto de la TV (por ejemplo, a través de BLE), insertar 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) a la plataforma.
|
SYSTEM_UI_INTELLIGENCE |
Todos los siguientes:
- Ser un servicio preinstalado que proporciona, a través de las APIs del framework (APIs públicas o del sistema), un procesador inteligente integrado en el dispositivo para las funciones de la IU del sistema (por ejemplo, predecir y mostrar las próximas apps para los usuarios)
- El servicio debe cumplir con todos los requisitos descritos en la sección 9.8.6 Captura de contenido de la CDD de Android.
- El servicio no puede tener el permiso
android.permission.INTERNET. En su lugar, debe acceder a Internet a través de APIs bien definidas en un proyecto de código abierto.
- El servicio no se puede vincular a apps, excepto las siguientes apps del sistema: Bluetooth, Contactos, Contenido multimedia, Telefonía, SystemUI y componentes que proporcionan APIs de Internet. Cada vinculación permitida debe configurarse de forma explícita
a través de la configuración de
<allow-association> en la
configuración del sistema.
- El servicio no puede compartir datos con apps, a menos que haya una acción directa del usuario (por ejemplo, que el usuario presione explícitamente un botón cada vez que se comparten los datos).
|
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE |
Todos los siguientes:
- Es idéntico a las condiciones de
SYSTEM_UI_INTELLIGENCE, excepto que el servicio preinstalado proporciona un procesador inteligente integrado en el dispositivo para el audio ambiental (por ejemplo, reconocer canciones que se reproducen cerca del dispositivo).
|
SYSTEM_AUDIO_INTELLIGENCE |
Todos los siguientes:
- Son idénticas a las condiciones de
SYSTEM_UI_INTELLIGENCE, excepto que el servicio preinstalado proporciona un procesador inteligente integrado en el dispositivo para audio (por ejemplo, subtitular videos, podcasts, llamadas telefónicas, videollamadas y mensajes de audio).
|
SYSTEM_NOTIFICATION_INTELLIGENCE |
Todos los siguientes:
- Es idéntico a las condiciones de
SYSTEM_UI_INTELLIGENCE, excepto que el servicio preinstalado proporciona un procesador inteligente integrado en el dispositivo para las notificaciones (por ejemplo, sugerir respuestas y acciones para las notificaciones de mensajes).
|
SYSTEM_TEXT_INTELLIGENCE |
Todos los siguientes:
- Es idéntico a las condiciones de
SYSTEM_UI_INTELLIGENCE, excepto que el servicio preinstalado proporciona un procesador inteligente integrado en el dispositivo para texto (por ejemplo, que proporciona traducción instantánea o autocompletado).
|
SYSTEM_VISUAL_INTELLIGENCE |
Todos los siguientes:
- Es idéntico a las condiciones de
SYSTEM_UI_INTELLIGENCE, excepto que el servicio preinstalado proporciona un procesador inteligente integrado en el dispositivo para las funciones visuales que implican el análisis de datos de la cámara. Por ejemplo, mantener activa la pantalla del teléfono mientras el usuario la mira o determinar la orientación ideal de la pantalla según la orientación del rostro del usuario desde la cámara frontal del dispositivo.
|
COMPANION_DEVICE_APP_STREAMING |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- Casos de uso permitidos:
- Transmisión, duplicación o transmisión de apps que permiten la transmisión,
duplicación o transmisión desde un dispositivo con Android, como un teléfono celular
o una tablet, a una computadora de escritorio o laptop.
- Cuando se establece la conexión inicial del dispositivo A al dispositivo B, ocurre lo siguiente:
- La vinculación DEBE autorizarse con un código de un solo uso que se muestra en el
dispositivo de origen (A) y se ingresa en el dispositivo conectado (B).
Como alternativa, si ambos dispositivos tienen al menos una cuenta coincidente
en su AccountManager de Android, el usuario PUEDE confirmar la vinculación
ingresando la contraseña de la cuenta en el dispositivo conectado (B).
- Ambos dispositivos deben estar cerca
1 entre sí durante
la vinculación.
- Ambos dispositivos deben estar cerca
1 entre sí durante
la transmisión.
- La app puede crear y administrar canales de comunicación con dispositivos conectados para que estos puedan intercambiar datos. La app y los dispositivos conectados DEBEN autenticarse entre sí de forma correcta (por ejemplo, demostrando que conocen las claves compartidas) para establecer estos canales de comunicación. Los canales de comunicación DEBEN tener protección de encriptación de extremo a extremo.
- La app puede enviar notificaciones desde el dispositivo de origen (A) al dispositivo conectado (B) para permitir que el usuario realice acciones en las notificaciones en el dispositivo conectado (B).
- Poder transmitir los metadatos necesarios para la transmisión de apps al dispositivo conectado (B), como la lista de apps disponibles en el dispositivo de origen (A)
- Poder transmitir apps desde el dispositivo de origen (A) al dispositivo conectado (B) después de que el usuario haya indicado su preferencia para hacerlo con consentimiento explícito (ya sea en el dispositivo de origen (A) o en el dispositivo conectado (B))
- Poder reproducir (insertar) eventos que ocurren en una app transmitida en el dispositivo conectado (B) de vuelta en el dispositivo de origen (A) Por ejemplo, reproducir un evento táctil en el dispositivo conectado (B) en las mismas coordenadas que en el dispositivo de origen (A) o reproducir un evento de entrada que se produjo en el dispositivo conectado (B) con la misma semántica de entrada que en el dispositivo de origen (A).
- La app puede reemplazar la transmisión del micrófono del dispositivo de origen por la de un dispositivo conectado mientras una app de transmisión usa el micrófono.
- La app captura el audio del dispositivo de origen (A) y lo transmite al dispositivo conectado (B).
- Se RECOMIENDA bloquear el acceso a las apps de configuración y a las tiendas de aplicaciones desde el dispositivo conectado (B).
- A partir de Android 16, se DEBEN evitar las capturas de pantalla y la lectura de pantalla de contenido sensible, como
ventanas y plataformas seguras, en el dispositivo conectado (B).
- DEBEN verificar la integridad de la compilación del SO del dispositivo conectado (por ejemplo, con la certificación del dispositivo, como en
VerifiedBootState).
- Solo transmite apps en las que haya una sola cuenta coincidente en el registro de cuentas integrado en el dispositivo (por ejemplo, la clase
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 de origen (A) y se ingresa en el dispositivo conectado (B).
Ten en cuenta que, en el caso de los dispositivos que admiten varios usuarios (y no varias cuentas) con el mismo aislamiento de datos confiable, como en el modo multiusuario de Android, un usuario cuenta como un dispositivo.
- DEBE detener la transmisión y desconectarse del dispositivo conectado (B) de inmediato si la autenticación de la cuenta en el dispositivo conectado (B) vence o se revoca.
- DEBE detener la transmisión y desconectarse del dispositivo conectado (B)
cuando se agote el tiempo de espera de inactividad del dispositivo conectado (B) en el que se puede ver el contenido
de la pantalla. PUEDE mantener encendida la pantalla del dispositivo conectado en casos, como WakeLock, que mantienen encendida la pantalla del dispositivo Android. DEBE estar presente un tiempo de espera de inactividad. Si el dispositivo conectado (B) no tiene un tiempo de espera de inactividad por sí mismo, se DEBE usar un tiempo de espera de inactividad de un máximo de 5 minutos.
- Si el dispositivo de origen (A) usa el factor de conocimiento de la pantalla de bloqueo (LSKF), cuando la pantalla está bloqueada, la app NO DEBE transmitir apps a un dispositivo conectado (B), a menos que el dispositivo conectado (B) tenga una pantalla de bloqueo y esté desbloqueado.
- Si un administrador gestiona el dispositivo de origen (A), la app DEBE respetar las políticas que establezca el administrador sobre la habilitación o inhabilitación de la transmisión a dispositivos cercanos (por ejemplo, con la configuración de
DevicePolicyManager en Android).
- DEBEN garantizar que las pantallas remotas y todas las fuentes de eventos de entrada remotos 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 según corresponda.
- El usuario DEBE poder finalizar la transmisión desde el dispositivo de origen (A), por ejemplo, con un botón en una notificación persistente. Este comportamiento está controlado por la pantalla de bloqueo, si el dispositivo de origen (A) tiene un bloqueo de pantalla configurado. DEBE mostrar esta affordance persistente en el dispositivo de origen (A) que siempre está visible y en la mitad superior de la página.
- DEBE mostrar una affordance en el dispositivo de origen (A) 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 |
Todos los siguientes:
- Solo los OEMs pueden otorgar este rol a la app. Las apps no pueden solicitarlo, ya que está destinado a otorgarse de forma predeterminada al nombre del paquete definido por el OEM cuando se envía el dispositivo.
- La app debe poder aprovisionar un perfil administrado (propietario del perfil) o un dispositivo administrado (propietario del dispositivo), lo que incluye descargar e instalar el cliente de política de dispositivo adecuado para ser el propietario del dispositivo o perfil, si es necesario.
- De manera opcional, la app puede actualizar de forma dinámica los recursos, como las cadenas y los elementos de diseño que se usan para la administración de políticas de dispositivos.
- La app puede ser una app del sistema preinstalada o descargarse e instalarse antes del aprovisionamiento.
- En los casos de aprovisionamiento del propietario del perfil, cuando la app de titular de rol se instala en un usuario de Android determinado, se debe instalar en todos los perfiles aplicables para ese usuario.
|
SYSTEM_APP_PROTECTION_SERVICE |
Todos los siguientes:
- La app es una app del sistema.
- El único propósito de la app es detectar aplicaciones potencialmente dañinas
(apps que podrían poner en riesgo a los usuarios, sus datos o sus dispositivos, como
troyanos, phishing y software espía) o
software
no deseado para dispositivos móviles.
- La app debe cumplir con todos los requisitos descritos en la sección 9.8.6 del CDD de Android.
Datos ambientales y a nivel del SO.
- La app no debe declarar el permiso normal
android.permission.INTERNET. En su lugar, debe acceder a Internet a través de APIs bien definidas en un proyecto de código abierto.
- La app no debe vincularse a otras apps, excepto a las siguientes apps del sistema:
Controlador de permisos y componentes que proporcionan APIs de telefonía y de
Internet. Cada vinculación permitida debe configurarse de forma explícita a través de la configuración de
<allow-association> en la configuración del sistema.
- La app no debe compartir datos con otras apps, a menos que haya una acción directa del usuario (por ejemplo, que el usuario presione explícitamente un botón cada vez que se comparten los datos).
|
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- La app debe transferir los datos del calendario del teléfono iOS o Android del usuario al dispositivo Android Auto. El dispositivo Android Auto debe almacenar
estos datos del calendario en el
proveedor de calendario.
- La app debe proporcionar un componente de IU en el teléfono que el usuario pueda usar para activar la sincronización del calendario y seleccionar los calendarios que se sincronizarán. La app debe
proporcionar un componente de IU en el teléfono que el usuario pueda usar para desactivar
la sincronización del calendario.
- La app debería funcionar sin conexión a Internet. Por ejemplo,
con conexiones directas con cable o inalámbricas.
|
AUTOMOTIVE_NAVIGATION |
Todos los siguientes:
- La app tiene una actividad que las apps pueden invocar a través de solicitudes de intents implícitos, que muestra la ubicación actual del usuario y sus alrededores.
- La app tiene una actividad que las apps pueden invocar a través de solicitudes de intents implícitos, lo que permite que el usuario navegue a una ubicación geográfica especificada.
- La app tiene una actividad que se inicia en el panel de instrumentos cuando la app tiene el foco de navegación.
La actividad debe mostrar la ubicación actual del usuario y sus alrededores,
y permitirle navegar a una ubicación geográfica específica.
|
COMPANION_DEVICE_COMPUTER |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- Permite que los usuarios dupliquen las notificaciones y accedan a las fotos y el contenido multimedia del
teléfono en una computadora conectada.
|
SYSTEM_SETTINGS_INTELLIGENCE |
Al menos uno de los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- Tiene un servicio que proporciona funciones de inteligencia para la app de Configuración, como sugerencias y búsqueda.
|
NOTES |
Todos los siguientes:
|
COMPANION_DEVICE_GLASSES |
La app puede realizar solicitudes para asociarse con un dispositivo de anteojos y administrarlo (con la API que proporciona la clase CompanionDeviceManager). Cuando los lentes inteligentes y la app se conectan con la IU que proporciona CDM, los usuarios pueden administrar sus lentes inteligentes otorgándoles acceso a los contactos y permiso para administrar las notificaciones y las llamadas telefónicas.
|
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING |
Todos los siguientes:
- La app es una app del sistema.
- Solo los OEMs pueden otorgar este rol a la app.
- Casos de uso permitidos:
- Transmisión de apps desde un dispositivo con Android, como un teléfono celular o una tablet, a un vehículo
- Transmisión de apps desde un dispositivo con Android, como un teléfono celular
o una tablet, a un dispositivo de RE
- Cuando se establece la conexión inicial del dispositivo A al dispositivo B, ocurre lo siguiente:
- La vinculación DEBE autorizarse con un código de un solo uso que se muestra en el
dispositivo de origen (A) y se ingresa en el dispositivo conectado (B).
Como alternativa, si ambos dispositivos tienen al menos una cuenta coincidente
en su AccountManager de Android, el usuario PUEDE confirmar la vinculación
ingresando la contraseña de la cuenta en el dispositivo conectado (B).
- Ambos dispositivos deben estar cerca
1 entre sí durante
la vinculación.
- Ambos dispositivos deben estar cerca
1 entre sí durante
la transmisión.
- La app puede crear y administrar canales de comunicación con dispositivos conectados para que estos puedan intercambiar datos. La app y los dispositivos conectados DEBEN autenticarse entre sí de forma correcta (por ejemplo, demostrando que conocen las claves compartidas) para establecer estos canales de comunicación. Los canales de comunicación DEBEN tener protección de encriptación de extremo a extremo.
- La app puede enviar notificaciones desde el dispositivo de origen (A) al dispositivo conectado (B) para permitir que el usuario realice acciones en las notificaciones en el dispositivo conectado (B).
- Poder transmitir los metadatos necesarios para la transmisión de apps al dispositivo conectado (B), como la lista de apps disponibles en el dispositivo de origen (A)
- Poder transmitir apps desde el dispositivo de origen (A) al dispositivo conectado (B) después de que el usuario haya indicado su preferencia para hacerlo con consentimiento explícito (ya sea en el dispositivo de origen (A) o en el dispositivo conectado (B))
- Poder reproducir (insertar) eventos que ocurren en una app transmitida en el dispositivo conectado (B) de vuelta en el dispositivo de origen (A) Por ejemplo, reproducir un evento táctil en el dispositivo conectado (B) en las mismas coordenadas que en el dispositivo de origen (A) o reproducir un evento de entrada que se produjo en el dispositivo conectado (B) con la misma semántica de entrada que en el dispositivo de origen (A).
- La app puede reemplazar la transmisión del micrófono del dispositivo de origen por la de un dispositivo conectado mientras una app de transmisión usa el micrófono.
- La app captura el audio del dispositivo de origen (A) y lo transmite al dispositivo conectado (B).
- Se RECOMIENDA bloquear el acceso a las apps de configuración y a las tiendas de aplicaciones desde el dispositivo conectado (B).
- A partir de Android 16, se DEBEN evitar las capturas de pantalla
y la lectura de pantalla de contenido sensible, como
ventanas y plataformas seguras, en el dispositivo conectado (B).
- DEBEN verificar la integridad de la compilación del SO del dispositivo conectado (por ejemplo, con la certificación del dispositivo, como en
VerifiedBootState).
- Solo transmite apps en las que haya una sola cuenta coincidente en el registro de cuentas integrado en el dispositivo (por ejemplo, la clase
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 de origen (A) y se ingresa en el dispositivo conectado (B).
Ten en cuenta que, en el caso de los dispositivos que admiten varios usuarios (y no varias cuentas) con el mismo aislamiento de datos confiable, como en el modo multiusuario de Android, un usuario cuenta como un dispositivo.
- DEBE detener la transmisión y desconectarse del dispositivo conectado (B) de inmediato si la autenticación de la cuenta en el dispositivo conectado (B) vence o se revoca.
- DEBE detener la transmisión y desconectarse del dispositivo conectado (B)
cuando se agote el tiempo de espera de inactividad del dispositivo conectado (B) en el que se puede ver el contenido
de la pantalla. PUEDE mantener encendida la pantalla del dispositivo conectado en casos, como WakeLock, que mantienen encendida la pantalla del dispositivo Android. DEBE estar presente un tiempo de espera de inactividad. Si el dispositivo conectado (B) no tiene un tiempo de espera de inactividad por sí mismo, se DEBE usar un tiempo de espera de inactividad de un máximo de 5 minutos.
- Si el dispositivo de origen (A) usa el factor de conocimiento de la pantalla de bloqueo (LSKF), cuando la pantalla está bloqueada, la app NO DEBE transmitir apps a un dispositivo conectado (B), a menos que el dispositivo conectado (B) tenga una pantalla de bloqueo y esté desbloqueado.
- Si un administrador gestiona el dispositivo de origen (A), la app DEBE respetar las políticas que establezca el administrador sobre la habilitación o inhabilitación de la transmisión a dispositivos cercanos (por ejemplo, con la configuración de
DevicePolicyManager en Android).
- DEBEN garantizar que las pantallas remotas y todas las fuentes de eventos de entrada remotos 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 según corresponda.
- El usuario DEBE poder finalizar la transmisión desde el dispositivo de origen (A), por ejemplo, con un botón en una notificación persistente. Este comportamiento está controlado por la pantalla de bloqueo, si el dispositivo de origen (A) tiene un bloqueo de pantalla configurado. DEBE mostrar esta affordance persistente en el dispositivo de origen (A) que siempre está visible y en la mitad superior de la página.
- DEBE mostrar una affordance en el dispositivo de origen (A) cuando la transmisión se
realiza en otro dispositivo, como un ícono en la barra de estado o una
notificación persistente.
|
WALLET |
Uno de los siguientes:
- La app tiene un servicio de APDU de NFC que registra de forma estática al menos un AID en la categoría PAYMENT.
- La app implementa una instancia de
QuickAccessWalletService.
|