Parece que en Chrome para Android, versión 65 , se introdujo una "característica" que no le permite tomar una captura de pantalla en modo incógnito.
Al intentar tomar una captura de pantalla, Android ahora mostrará una alerta que dice "La aplicación o su organización no permiten tomar capturas de pantalla".
/**
* Sets the attributes flags to secure if there is an incognito tab visible.
*/
@VisibleForTesting
void updateIncognitoState() {
WindowManager.LayoutParams attributes = mWindow.getAttributes();
boolean currentSecureState = (attributes.flags & WindowManager.LayoutParams.FLAG_SECURE)
== WindowManager.LayoutParams.FLAG_SECURE;
boolean expectedSecureState = isShowingIncognito();
if (currentSecureState == expectedSecureState) return;
if (expectedSecureState) {
mWindow.addFlags(WindowManager.LayoutParams.FLAG_SECURE);
} else {
mWindow.clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
Estas son reglas imponentes que puede esperar tener en un entorno empresarial en un teléfono personal.
La interfaz de usuario del sistema operativo debe dejar claro cuándo y cómo otras aplicaciones están grabando la pantalla. Como desarrollador de aplicaciones, no debería molestarme en evitar las capturas de pantalla. Romper esta funcionalidad rompe el mínimo común denominador de intercambio de datos: tomar una captura de pantalla. Una de las razones para hacer una captura de pantalla es simplemente porque una aplicación pierde una funcionalidad adecuada de exportación de datos.
Fuente: HN Discussion
¿Hay alguna forma de deshabilitar o prevenir este comportamiento?