Похоже, что в Chrome для Android версии 65 была введена «функция», которая не позволяет делать снимок экрана в режиме инкогнито.
При попытке сделать снимок экрана Android теперь отображает предупреждение «Снимки экрана не разрешены приложением или вашей организацией».
/**
* 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);
}
}
Это навязывает правила, которые можно ожидать в корпоративной среде на персональном телефоне.
Интерфейс операционной системы должен прояснить, когда и как другие приложения записывают экран. Как разработчик приложений, я не должен беспокоиться о том, чтобы избегать снимков экрана. Нарушение этой функциональности разрушает наименьший общий знаменатель обмена данными: создание снимка экрана. Одна из причин создания скриншота заключается в том, что в приложении отсутствует надлежащая функциональность экспорта данных.
Источник: HN Дискуссия
Есть ли способ отключить или предотвратить это поведение?