En Android 9 y versiones anteriores, los permisos de captura del búfer de pantalla ( READ_FRAME_BUFFER
, CAPTURE_VIDEO_OUTPUT
y CAPTURE_SECURE_VIDEO_OUTPUT
) se otorgaban a aplicaciones que tenían permisos de firma o privilegios. Esto permitió actividades de captura de búfer de pantalla sin interrupciones, como tomar capturas de pantalla o grabar el contenido de la pantalla de un dispositivo.
A partir de Android 10, para evitar el acceso silencioso al contenido de la pantalla de un dispositivo, no se otorgan permisos de captura de video a aplicaciones privilegiadas. El acceso sin el consentimiento del usuario está restringido y se concede únicamente a aplicaciones que tienen permisos de firma. Este requisito afecta a los fabricantes de dispositivos que ejecutan aplicaciones privilegiadas que dependen de esta funcionalidad de captura silenciosa.
A partir de Android 10, si no tiene los permisos de firma de captura de búfer de pantalla enumerados, su aplicación no puede capturar búfer de pantalla sin el consentimiento del usuario. Para asegurarse de tener los permisos que necesita, busque en su archivo de manifiesto los permisos de firma enumerados anteriormente. Migre todas las aplicaciones privilegiadas afectadas (como se encuentran en su búsqueda) a la clase MediaProjectionManager , que permite que cualquier aplicación de terceros capture buffers de pantalla sin permisos, pero con el consentimiento del usuario. Este flujo muestra un cuadro de diálogo que solicita al usuario que permita la captura de pantalla cuando una aplicación la inicia. En Android 10, las nuevas funciones del cuadro de diálogo incluyen las siguientes:
- Proporciona asociaciones más visibles con el ícono Cast .
- Proporciona más información sobre la confidencialidad de los datos a los que se puede acceder.
- Evita que los usuarios oculten el cuadro de diálogo en futuras iniciaciones: el cuadro de diálogo se muestra siempre.