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

PermissionController

El módulo PermissionController habilita políticas de privacidad y elementos de la interfaz de usuario actualizables (por ejemplo, las políticas y la interfaz de usuario en torno a la concesión y administración de permisos).

A partir de Android 12, las clases de servidor marco y del sistema para Role se mueven en el módulo para hacer Role completamente modular.

Acerca de PermissionController

Los com.google.android.permissioncontroller asas APK relacionados con los permisos de interfaz de usuario, la lógica y los roles para permitir el acceso de aplicaciones de propósito específico. Controla lo siguiente:

  • Otorgamiento de permisos de tiempo de ejecución (incluido el otorgamiento a aplicaciones del sistema)

  • Gestión de permisos de tiempo de ejecución (incluida la agrupación de permisos)

  • Seguimiento del uso de permisos de tiempo de ejecución

  • roles

En Android 9, dichos permisos fueron parte de com.google.android.packageinstaller . En Android 10, la aplicación Package Installer se divide en secciones para permitir que se actualice la lógica de permisos. Como módulo Mainline actualizable, PermissionController:

  • Interactúa con el marco sólo a través estable @SystemApi (sin @hide uso de la API).

  • Maneja las intenciones relacionadas con permisos con una prioridad superior a 0.

  • Expone un mecanismo para permitir que los OEM personalicen temas.

  • Proporciona servicios a los que se pueden vincular el sistema y las aplicaciones, incluida la gestión de roles, la revocación de permisos y la información básica de permisos (para Configuración).

  • Admite la revocación automática de aplicaciones no utilizadas (nuevo en Android 11).

Revocación automática para aplicaciones no utilizadas

En Android 11, el módulo PermissionsController puede revocar automáticamente los permisos de tiempo de ejecución para las aplicaciones que no se han utilizado durante un período prolongado. Aplicaciones de orientación SDK de 30 o más tienen auto-Revocar activado por defecto, mientras que las aplicaciones de orientación SDK de 29 o más bajas tienen auto-revocar desactivado por defecto. Cuando está habilitada, la revocación automática afecta a todos los permisos de tiempo de ejecución, pero excluye todos los permisos otorgados previamente, incluidos los permisos fijados por políticas y sistemas y los permisos otorgados de forma predeterminada o por rol. Para más detalles, consulte Permisos de restablecimiento automático de aplicaciones no utilizados .

formato de paquete

El módulo PermissionController se entrega como un archivo APK.

Límite del módulo

En androide 12, el código del módulo permiso se trasladó de packages/apps/PermissionController (la platform/packages/apps/PackageInstaller proyecto) y frameworks/base/apex/permission (esto es un subdirectorio del frameworks/base del proyecto).

La nueva estructura de proyecto para packages/modules/Permission es la siguiente:

  • Los archivos de frameworks/base/apex/permission
  • PermissionController archivos de packages/apps/PermissionController

Los OEM pueden usar los comandos de muestra para ayudar a mover sus parches desde los directorios del proyecto original al nuevo directorio del proyecto.

Mover un parche desde frameworks/base/apex/permission

root/frameworks/base/$ git format-patch -1 --relative=apex/permission commit --stdout > patch-file.txt

root/packages/modules/Permission$ git am -p2 patch-file.txt

Mover un parche desde paquetes/aplicaciones/PermissionController

root/packages/apps/PermissionController$ git format-patch -1 commit --stdout > patch-file.txt

root/packages/modules/Permission$ git am -p2 --directory=PermissionController patch-file.txt

personalización

OEM pueden personalizar el tema Permisos de interfaz de usuario (colores, márgenes, tipos de letra, y dibujables) utilizando superposiciones de recursos en tiempo de ejecución (RROS) .