Según esta respuesta de Stack Overflow Aplicaciones de Android con FLAG_SECURE
en sus actividades están protegidos de las capturas de pantalla que realiza el sistema. Se obtiene un archivo en blanco cuando se utiliza screencap
y algunas otras aplicaciones de captura de pantalla, y este error al utilizar los botones de hardware:
No se pueden hacer capturas de pantalla porque el espacio de almacenamiento es limitado, o porque la aplicación o la organización no lo permiten.
Sin embargo, no se trata de una garantía sólida. En Android Studio, todavía puedo hacer capturas de pantalla de tales aplicaciones "seguras" con el botón señalado en esta respuesta SO .
He echado un vistazo al código fuente de Android Studio, y la captura de pantalla se adquiere a través de un framebuffer:
solicitud al BAD, que a su vez utiliza screencap
. Antes de buscar en el código fuente más información sobre cómo funciona esto para adb pero no para un terminal Root y una posible solución "para desarrolladores", pensé que debía preguntar: ¿alguien ha averiguado ya lo que está ocurriendo entre bastidores aquí y puede un usuario final ¿hacer uso de ella? Idealmente, sin necesidad de un PC.
Mi dispositivo está rooteado, así que estoy abierto a aplicaciones/comandos/etc. que requieran Root (o tener activada la Depuración USB). He probado algunas aplicaciones de captura de pantalla de pre-Android-2.3 que utilizan Root, pero ninguna de ellas sigue funcionando (presumiblemente debido a cómo el framebuffer está ahora protegido).