Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Indicadores de privacidad

Los permisos de tiempo de ejecución en Android 6 y versiones posteriores brindan a los usuarios control sobre cuándo permiten que se grabe el audio del micrófono de un dispositivo o el video de la cámara de un dispositivo. Antes de que una aplicación pueda grabar, un usuario debe otorgarle o denegarle el permiso a través de un cuadro de diálogo que presenta el sistema.

Android 12 proporciona a los usuarios la transparencia mediante la visualización de los indicadores cuando una aplicación utiliza una fuente de datos privados a través de las cámaras y micrófonos permisos App-op . Las operaciones de aplicaciones registran los accesos a las API protegidas por permisos en tiempo de ejecución.

App-op rastrea tanto el estado de la actividad como la cantidad de llamadas API individuales e interactúa con los indicadores de micrófono y cámara en Android 12 para mostrar a los usuarios cuándo las aplicaciones han accedido a datos de audio y cámara en sus dispositivos. Cuando los usuarios hacen clic en los indicadores del micrófono o de la cámara, ven qué aplicaciones han accedido a sus datos. Esta característica es obligatoria para todos los OEM.

Requisitos de visibilidad del indicador

Estos son los requisitos para los indicadores de micrófono y cámara en dispositivos con Android 12 o superior:

  • Los indicadores deben aparecer en la barra de estado y conservar la prioridad visual más alta (por ejemplo, ubicados en la posición más a la derecha en la esquina superior derecha).
  • Los indicadores deben estar ubicados constantemente en la misma posición y no deben ser bloqueados por una aplicación cuando se inicia.
  • Ambos indicadores deben ser de color verde (o una variación de color verde) en color.
  • Al hacer clic en uno o ambos indicadores deben emitir una notificación affordance aplicación atribución que hace lo siguiente:
    • Muestra el nombre de la aplicación que está usando el micrófono y (o) la cámara.
    • Muestra el nombre de la aplicación que utilizó el micrófono y (o) la cámara en los últimos 15 segundos.
    • Lleva a los usuarios a la página de permiso a la aplicación de Ajustes

Uso y características

En Android 12, la interfaz de usuario distingue entre usos en ejecución y usos recientes. Los usos se consideran "activos" si están marcados por el sistema como "en ejecución" o tienen menos de 5 segundos de antigüedad.

  • Los íconos de la barra de estado muestran cada vez que una aplicación tiene acceso continuo a un micrófono o cámara sensible al usuario.
  • Los usuarios pueden hacer clic en estos iconos y ver qué aplicaciones acceden al micrófono, la cámara o ambos.

Microphone and camera in-use indicators showing that access is active

Figura 1. micrófono y la cámara en uso de indicadores que muestran el acceso activo (esquina superior derecha)

El acceso se considera activo mientras lo muestren los indicadores. Primero se muestra un ícono, luego cambia a un punto que persiste hasta que la aplicación se descarta o se cierra.

Cuando un usuario toca los indicadores, se abre un cuadro de diálogo que muestra que una aplicación está usando la cámara, el micrófono o ambos.

Indicators for both active and recent access, and whether the access was from camera or microphone

Figura 2. Indicadores de acceso activo y recientes

La imagen en la Figura 2 muestra los indicadores de acceso activas cuando se ha accedido a los datos en los últimos 5 segundos por una aplicación en ejecución.

Los indicadores de acceso recientes muestran que una aplicación accedió a los datos durante los 15 segundos anteriores, pero que la aplicación no está activa. Todas las aplicaciones activas se muestran en el diálogo, pero solo una aplicación se muestra como la fuente de acceso reciente, incluso cuando más de 1 aplicación accedió a los datos dentro de un período de tiempo anterior de 15 segundos. La vista de acceso permanece congelada hasta que el usuario cierra el cuadro de diálogo de notificación.

Entregar y habilitar

El PermissionManager clase proporciona un método para rellenar el cuadro de diálogo, que reside en el sistema de interfaz de usuario.

  • Sistema de interfaz de usuario reacciona a un conmutador de configuración de dispositivo: privacy/mic_camera_indicators_enabled .
  • El cambio es necesario porque hay dos vehículos de reparto separados, en este orden:
    1. Entregar.
    2. Habilitar.
  • La interfaz de usuario del sistema no debe bloquearse si el método de PermissionManager no puede proporcionar los datos necesarios.

Flujo del proceso

La funcionalidad del indicador de permisos tiene tres partes principales:

  • Las aplicaciones
  • Los indicadores (manejados por SystemUI)
  • Una forma de determinar qué aplicaciones están usando los datos.

El PermissionController proporciona el mecanismo para determinar qué aplicaciones están utilizando datos. SystemUI escucha aplicaciones que usan datos privados. SystemUI muestra un icono en la barra de navegación superior que corresponde a los permisos utilizados. Los PermissionController muestra datos sobre usos cuando un usuario hace clic en un icono.

Process flow for Permission Indicator functions

Figura 3. Los componentes del sistema y las transiciones (UI) fluyen

Las transiciones numerados en la figura 3 se describen a continuación:

1- Una aplicación solicita datos privados del sistema.

2- Los permisos de cheques del sistema. Si se permiten los permisos, el sistema notifica al proveedor de datos y toma nota del uso en las operaciones de aplicaciones.

3- El proveedor de datos proporciona datos a la aplicación.

4-5 El usuario hace clic en los iconos. Sistema de interfaz de usuario solicita datos al PermissionManager y presenta el diálogo al usuario.

Detalles del proceso

  1. Las aplicaciones utilizan el micrófono y la cámara, llamando AppOpsManager.startOp , stopOp , y (o) noteOp . Esto crea registros de operaciones de aplicaciones en el servidor del sistema.
  2. La interfaz de usuario Sistema de escucha para las nuevas aplicaciones-ops utilizando los AppOpsManager.OnOpActiveChangedInternalListener y OnOpNotedListener oyentes. Cuando un nuevo uso viene en (a través de una llamada a cualquiera de startOp o noteOp ), los verifica Sistema de interfaz de usuario que el uso es mediante una aplicación del sistema.
  3. Si la interfaz de usuario del sistema verifica el uso de la aplicación del sistema y si el uso es para el micrófono, la interfaz de usuario del sistema comprueba si el micrófono está silenciado.
  4. Si la interfaz de usuario del sistema verifica el uso de aplicaciones ajenas al sistema (y, para el uso del micrófono, que el micrófono no está silenciado; para el uso de la cámara, que la cámara está activada), muestra un icono que refleja dicho uso.

Si el sistema de interfaz de usuario recibe una noteOp , que no tiene duración, se muestra el icono de al menos 5 segundos. De lo contrario, el icono muestra o bien hasta que recibe una stopOp , o durante 5 segundos, lo que sea más largo. El usuario al hacer clic en un icono inicia una intención que va a la PermissionController para iniciar el diálogo.

El PermissionController carga todo el uso reciente para el micrófono y la cámara. Comprueba si alguno de ellos se está ejecutando actualmente o se estaba ejecutando dentro del marco de tiempo establecido por la interfaz de usuario del sistema. Si encuentra una coincidencia, muestra el nombre de la aplicación que usó el permiso y qué permisos usó la aplicación.

Debido a este cambio en Android 12 y versiones posteriores, algunas aplicaciones deben cambiar su comportamiento o implementar un comportamiento especial.

La telefonía debe implementar el uso de permisos (para tener en cuenta la pila de micrófonos separada que se usa en las llamadas telefónicas), mientras trabaja con la aplicación de búsqueda de Google para Android (AGSA) y los servicios móviles de Google (GMS).