Создать APK бесплатно

Функции устройства

Блокировка скриншотов на странице

Позвольте одной странице приложения отключить скриншоты, запись экрана и превью в списке недавних — и верните всё, когда пользователь уйдёт

1Что это делает#

Одна строка на вашей странице включает блокировку захвата экрана Android для экрана, который сейчас видит пользователь:

  • скриншоты не получаются (пользователь видит сообщение Android «Не удалось сделать снимок экрана»)
  • запись экрана и трансляция показывают чёрный кадр
  • превью приложения в списке недавних скрыто

Чего эта защита не может — и не может ничто в Android — так это помешать сфотографировать экран другим телефоном. Если нужно и это, используйте водяной знак, а не флаг.

const b = window.WebToApk || null;

// On the sensitive screen:
b?.setSecureScreen(true);

// Leaving it early (a modal closing, a tab switch inside one page):
b?.setSecureScreen(false);

// Current state:
const locked = b?.isSecureScreen();

2Защитите одну страницу, а не всё приложение#

Защита принадлежит странице, которая её запросила. AppMint снимает её, как только приложение переходит куда-либо ещё: на новую страницу, маршрут pushState или маршрут #hash. Поэтому экран выписки можно защитить, а в остальной части приложения скриншоты делаются как обычно.

Это также означает, что после перезагрузки страница должна запросить защиту снова: новый документ ещё ничего не запрашивал, а наследование ответа предыдущего приводит к тому, что приложения блокируются на экранах, которые никто не собирался защищать.

3В одностраничном приложении#

Смена маршрута внутри одной страницы автоматически снимает защиту, поэтому обычно её включают при показе защищённого экрана, а остальное делает навигация.

function showStatement() {
  render(statementView);
  window.WebToApk?.setSecureScreen(true);
}

// Nothing to undo on the way out — moving to another route
// releases it. Call setSecureScreen(false) yourself only when
// you hide the sensitive content WITHOUT navigating.

4Не используйте для этого таймер#

Распространённая идея — повторно включать защиту по интервалу, например каждую секунду, и давать ей сняться, когда страница перестаёт её запрашивать. Это не работает, и стоит понимать почему: Android не спрашивает ваше приложение, когда пользователь нажимает кнопки скриншота. Флаг должен быть уже установлен на окне. Любая секунда, когда страница занята, притормаживается в фоне или находится между тиками таймера, — это секунда, когда скриншот проходит.

Запросите защиту один раз, когда появляется конфиденциальное содержимое. AppMint снимет её, когда пользователь уйдёт.

Эта страница создана из руководства по интеграции внутри самого приложения, поэтому в ней написано ровно то, что и в текущей сборке. Читать в формате Markdown.

Сверено с актуальным руководством 22.10.2026.