Lectura de pantalla restringida

En Android 9 y versiones anteriores, los permisos de captura de búfer de pantalla (READ_FRAME_BUFFER, CAPTURE_VIDEO_OUTPUT y CAPTURE_SECURE_VIDEO_OUTPUT) se otorgaban a las apps que tenían firma o permisos de privilegio. Esto habilitó 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 las apps con privilegios. El acceso sin el consentimiento del usuario está restringido y solo se otorga a las apps que tienen permisos de firma. Los fabricantes de dispositivos que ejecutan apps con privilegios que dependen de esta funcionalidad de captura silenciosa se ven afectados por este requisito.

A partir de Android 10, si no tienes los permisos de firma de captura de búfer de pantalla enumerados, tu app no puede capturar búferes de pantalla sin el consentimiento del usuario. Para asegurarte de tener los permisos que necesitas, busca en el archivo de manifiesto los permisos de firma que se mencionaron anteriormente. Migra todas las apps con privilegios afectadas (como se encontró en tu búsqueda) a la clase MediaProjectionManager, que permite que cualquier app de terceros capture búferes de pantalla sin permisos, pero con el consentimiento del usuario. Este flujo muestra un diálogo que le solicita al usuario que permita la captura de pantalla cuando una app la inicia. En Android 10, las funciones nuevas del diálogo incluyen las siguientes:

  • Proporciona asociaciones más visibles con el ícono de Transmisión.
  • Proporciona más información sobre la sensibilidad de los datos a los que se puede acceder.
  • Impide que los usuarios oculten el diálogo en iniciaciones futuras: el diálogo se muestra cada vez.