En esta página, se describe la configuración de seguridad y privacidad en Android, y cómo acceder a ella (incluida la estructura, la integración y la personalización) a través del Centro de seguridad.
A partir de Android 13, el Centro de seguridad combina elementos de seguridad y privacidad en una sola página llamada Seguridad y privacidad. También puedes acceder a Safety Center desde una tarjeta de Configuración rápida.
El Centro de seguridad proporciona entradas de redireccionamiento para que los usuarios puedan acceder a parámetros de configuración específicos de seguridad y privacidad. Safety Center también identifica problemas que los usuarios pueden solucionar en sus dispositivos o cuentas combinando datos dinámicos recibidos de varias fuentes. Estos datos proporcionan a los usuarios un estado de seguridad general con recomendaciones específicas.
Figura 1: Pantalla del Centro de seguridad
Requisitos y lineamientos de integración
- Android 13 y Mainline M-2022-11 o versiones posteriores
- Archivo de configuración del framework de Android para habilitar Safety Center:
- El campo
config_enableSafetyCenter
superponible del archivoframeworks/base/core/res/res/values/config.xml
se establece entrue
(predeterminado).
- El campo
Requisitos del servidor (solo para Android 13):
- La marca
DeviceConfig
safety_center_is_enabled
se establece comotrue
(true
predeterminado de Android 14).
- La marca
Lineamientos
- Los OEMs de GMS que no implementen Safety Center pueden inhabilitar esta función configurando el campo
config_enableSafetyCenter
superponible del archivoconfig.xml
enfalse
(el valor predeterminado estrue
). Para obtener más información, consulta Habilita o inhabilita Safety Center. - Para evitar un error en la integración de la pantalla de bloqueo en Android 13, consulta Acerca de PendingIntent y Solución para PendingIntent. No es necesario hacerlo en Android 14 ni en QPR de Android 13, ya que el problema se corrigió.
Integración con Safety Center
- Habilita Safety Center en tu dispositivo.
- (Opcional) Modifica el archivo de configuración de Safety Center para cambiar la forma en que se proporcionan los datos. Consulta Actualiza el archivo de configuración. Los cambios en el archivo de configuración deben cumplir con los requisitos de personalización y deben probarse con una prueba de GTS que imponga restricciones estrictas a las modificaciones.
- (Opcional) Modifica la app de Configuración para agregar o cambiar la entrada Seguridad y privacidad.
- Agrega o cambia la compatibilidad con las fuentes de seguridad para asegurarte de que el Centro de seguridad funcione con indicadores como la pantalla de bloqueo o los datos biométricos (si son compatibles). Esto puede requerir algunos cambios en la app de Configuración para implementarlo correctamente. Por ejemplo, cambiar el nombre del paquete de Configuración en el archivo de configuración al adecuado y usar las APIs de fuente de Safety Center en tu app de Configuración.
- (Opcional) Personaliza la IU del Centro de seguridad superponiendo temas, padding y otras funciones.
- Ejecuta y aprueba las pruebas de GTS y CTS asociadas.
- En 13, asegúrate de enviar huellas digitales del dispositivo para la lista de entidades permitidas del servidor. No es necesario hacerlo en 14.
Fuentes del Centro de seguridad
Una fuente de Safety Center proporciona datos a Safety Center. Por lo general, una fuente es propiedad de una app independiente en el dispositivo. Actualmente, solo las apps del sistema pueden usar fuentes de seguridad. Las apps de terceros no son fuentes de seguridad.
Estos son algunos ejemplos de fuentes de Safety Center:
- Bloquear pantalla
- Datos biométricos
- Actualizaciones de seguridad
- Encontrar mi dispositivo
- Google Play Protect
- Verificación de seguridad de la Cuenta de Google
- Indicadores de privacidad
Una fuente de Safety Center puede proporcionar estos tipos de datos:
- Una entrada en la IU de Safety Center para redireccionar al usuario a otra pantalla. Esta entrada tiene un estado que representa si el usuario está en riesgo, junto con metadatos adicionales asociados con el estado, por ejemplo, el título y el resumen.
- Son tarjetas de advertencia (también llamadas problemas) que se pueden resolver directamente desde el Centro de seguridad o redireccionando a un usuario a otra pantalla. Cada problema también tiene metadatos adicionales asociados, como el título, el resumen, las etiquetas de los botones y las acciones.
- Posibles errores que se produjeron cuando se intentaron proporcionar datos a Safety Center.
- El motivo por el que una fuente envía datos a Safety Center.
Archivo de configuración
Las fuentes de Safety Center se enumeran en un archivo de configuración que actúa como una lista de entidades permitidas. Este archivo también proporciona datos predeterminados para cada entrada de la IU. El archivo de configuración puede especificar entradas de redireccionamiento estáticas que no pueden afectar el estado de Safety Center ni los problemas (también llamados fuentes de seguridad estáticas). Para obtener más información, consulta Cómo actualizar el archivo de configuración.
Módulo de línea principal
Safety Center forma parte principalmente del módulo Mainline de PermissionController, por lo que Google puede actualizar esta función como parte de una actualización de Mainline para dispositivos OEM de GMS que admiten Mainline.
Los dispositivos OEM que no son de GMS y los dispositivos OEM de GMS que no admiten Mainline pueden usar Safety Center si esta función se incluye en su imagen del sistema. Sin embargo, deben usar el código de M-2022-11 o versiones posteriores. Consulta Habilita o inhabilita Safety Center para conocer los requisitos.
APIs de Safety Center
Las APIs de Safety Center están escritas en Java, y las muestras de código de esta página también están escritas en ese lenguaje. Sin embargo, como Kotlin es interoperable con Java, las APIs de Safety Center se pueden usar en Kotlin. Varias partes de la app del sistema PermissionController que interactúan con Safety Center están escritas en Kotlin.
Puedes usar APIs para interactuar con Safety Center. Se puede acceder a estas APIs principalmente a través de SafetyCenterManager
, que es una API del sistema. Para obtener más información, consulta Cómo interactuar con Safety Center.
Acciones y elementos adicionales de intents
A partir de Android 13, se define una acción de intent pública (a la que pueden acceder apps de terceros) en la clase Intent
para redireccionar al Centro de seguridad.
Las acciones y los elementos adicionales se definen en SafetyCenterManager
y solo las apps del sistema pueden acceder a ellos para permitir, por ejemplo, redireccionar a un problema específico.
API habilitada de Safety Center
SafetyCenterManager
expone una API que muestra si Safety Center está habilitado en el dispositivo. La API confirma si el dispositivo cumple con los requisitos de Safety Center, por ejemplo, si tiene instalada la versión correcta del módulo Mainline. Esta verificación se usa para determinar si se muestra Safety Center en Configuración y en otros lugares. También se puede usar para determinar si se deben proporcionar datos a Safety Center. Para obtener información sobre cómo activar o desactivar Safety Center, consulta Cómo habilitar o inhabilitar Safety Center.
APIs de origen de Safety Center
Las fuentes de Safety Center usan las APIs de fuente de Safety Center para proporcionar datos dinámicos a Safety Center. Las APIs de origen de Safety Center realizan las siguientes funciones:
- Establece los datos de una fuente determinada de Safety Center.
- Obtén el conjunto de datos más reciente de una fuente determinada de Safety Center.
- Informar un error de una fuente determinada de Safety Center
Las fuentes de Safety Center pueden habilitar la recepción de un indicador para enviar datos a Safety Center en ocasiones especiales, por ejemplo, cuando se abre la página de Safety Center, para garantizar que los datos proporcionados estén actualizados.
APIs internas de Safety Center
Algunas APIs de Safety Center son internas y solo las usa el módulo principal de PermissionController
, excepto por el shell y las pruebas. Por motivos técnicos, estas APIs no están ocultas y SafetyCenterManager
las expone.
Las APIs de Safety Center realizan las siguientes funciones:
- Envía un indicador a las fuentes de Safety Center para actualizar sus datos.
- Obtén una representación del archivo de configuración.
- Obtener datos combinados de varias fuentes de Safety Center
- Suscribirse y anular la suscripción a los cambios de datos
- Descartar tarjetas de advertencia
- Ejecuta una acción de tarjeta de advertencia.
APIs de prueba
SafetyCenterManager
incluye las APIs de prueba de Safety Center que se usan para las pruebas.
Las APIs de prueba de Safety Center pueden hacer lo siguiente:
- Borra todos los datos que almacenó Safety Center.
- Anular el archivo de configuración y borrar la anulación
Comandos del shell
Se proporcionan algunos comandos de shell para interactuar con Safety Center a través de Android Debug Bridge Shell (adb shell
). Usa adb shell cmd safety_center help
para ver la lista de comandos y lo que pueden hacer.
Interfaz de usuario del Centro de seguridad
La interfaz de usuario del Centro de seguridad se define en la app del sistema PermissionController
dentro del módulo PermissionController
. La IU se compone de una actividad y varios fragmentos que usan las APIs que se describen en APIs de Safety Center interno. La tarjeta de configuración rápida que expone Safety Center usa los mismos componentes de la IU con algunos cambios menores en la forma en que se organizan los elementos.
El aspecto de esta página se puede cambiar con superposiciones. Para obtener más información, consulta Cómo personalizar la IU de Safety Center.