Sembra che in Chrome per Android, versione 65 , sia stata introdotta una "funzione" che non ti consente di fare uno screenshot in modalità di navigazione in incognito.
Quando si tenta di fare uno screenshot, Android ora mostrerà un avviso che dice "Non è consentito scattare schermate dall'app o dall'organizzazione".
/**
* 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);
}
}
Si tratta di regole imponenti che puoi aspettarti di avere in un ambiente aziendale su un telefono personale.
L'interfaccia utente del sistema operativo dovrebbe chiarire quando e come altre app stanno registrando lo schermo. Come sviluppatore di app, non dovrei preoccuparmi di evitare acquisizioni di schermate. Rompere questa funzionalità rompe il minimo comune denominatore di condivisione dei dati: fare uno screenshot. Uno dei motivi per fare uno screenshot è solo perché a un'applicazione manca una corretta funzionalità di esportazione dei dati.
Fonte: discussione HN
C'è un modo per disabilitare o prevenire questo comportamento?