Spec-Zone.ru › Web APIs

WakeLockSentinel

Ограниченная доступность

Эта функция не относится к Базовому набору, так как она не работает во всех наиболее распространённых браузерах.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.

Интерфейс WakeLockSentinel API Блокировки экрана может использоваться для мониторинга состояния блокировки экрана платформы и ручного отключения блокировки при необходимости.

Блокировка экрана предотвращает затемнение или блокировку экрана устройства, когда приложение должно продолжать работу.

Блокировка экрана запрашивается с помощью метода navigator.wakeLock.request(), который возвращает Promise, который выполняется с объектом WakeLockSentinel, если блокировка предоставлена.

Полученную блокировку экрана можно вручную отключить через метод release() или автоматически через блокировку экрана платформы. Последнее может произойти, если документ станет неактивным или потеряет видимость, если устройство испытывает низкий уровень заряда или если пользователь включил режим экономии энергии. Освобожденный WakeLockSentinel не может быть повторно использован: новый сентиннель должен быть запрошен с помощью navigator.wakeLock.request(), если нужна новая блокировка. Отключение всех WakeLockSentinel экземпляров данного типа блокировки приведет к отключению базовой блокировки платформы.

При отключении платформенной блокировки на WakeLockSentinel генерируется событие, позволяющее приложениям настроить свой интерфейс и повторно запросить блокировку при необходимости.

EventTarget WakeLockSentinel

Свойства экземпляра

Также наследует свойства от родительского интерфейса EventTarget.

released Только для чтения

Возвращает значение булевого типа, указывающее, была ли WakeLockSentinel освобождена.

type Только для чтения

Возвращает строковое представление текущего типа приобретённой WakeLockSentinel. Возможные значения:

  • screen: Блокировка экрана. Предотвращает затемнение или блокировку экрана устройств.

Методы экземпляра

Также наследует методы от родительского интерфейса EventTarget.

release()

Освобождает WakeLockSentinel, возвращая Promise, который разрешается после успешного освобождения сентиннеля.

События

release

Срабатывает, когда вызывается метод release() или блокировка экрана отключается пользователем.

Примеры

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

// create a reference for the wake lock
let wakeLock = null;

// create an async function to request a wake lock
const requestWakeLock = async () => {
  try {
    wakeLock = await navigator.wakeLock.request("screen");

    // listen for our release event
    wakeLock.addEventListener("release", () => {
      // if wake lock is released alter the UI accordingly
    });
  } catch (err) {
    // if wake lock request fails - usually system related, such as battery
  }
};

wakeLockOnButton.addEventListener("click", () => {
  requestWakeLock();
});

wakeLockOffButton.addEventListener("click", () => {
  if (wakeLock !== null) {
    wakeLock.release().then(() => {
      wakeLock = null;
    });
  }
});

Спецификации

Спецификация
API блокировки экрана
# the-wakelocksentinel-interface

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android
WakeLockSentinel 84 84 126 70 16.4 84 126 60
16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545.
14.0 84
release 84 84 126 70 16.4 84 126 60
16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545.
14.0 84
release_event 84 84 126 70 16.4 84 126 60
16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545.
14.0 84
released 87 87 126 73 16.4 87 126 62
16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545.
14.0 87
type 84 84 126 70 16.4 84 126 60
16.4Не работает в автономных приложениях домашнего экрана. См. ошибку 254545.
14.0 84

См. также

  • Оставайтесь активными с API блокировки экрана

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WakeLockSentinel

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API