Как предотвратить, чтобы система перешла в режим ожидания (сна) в Electron Framework

В некоторых приложениях требуется, чтобы спящий режим или спящий режим экрана были отключены, так как это изменило бы поведение приложения. Такие приложения, как видеоплееры, менеджеры закачек и другие, страдают, когда такая функция включена. Как обычно, пользователь не будет отключать спящий режим компьютера только потому, что это требуется вашему приложению (ну, не всегда), поэтому приложение должно искать способ обойти этот спящий режим, не заставляя пользователя делать что-то особенное ,

Вот почему API Electron Blocker блокировки энергосбережения был представлен в последней версии, и в этой статье мы покажем вам, как легко использовать его в гибридном настольном приложении на базе Electron.

Важный

Ваша версия Electron Framework должна быть как минимум v1.7.5 для правильной работы с Power Save Blocker API.

Как работает API

API Power Save Blocker для блокировки системы от перехода в режим энергосбережения (спящий режим):

const {powerSaveBlocker} = require('electron')

Модуль предлагает только 3 метода:

Начните

Метод start ожидает в качестве первого аргумента строку с типом блокировщика, который вы хотите использовать:

  • prevent-app-suspension: Предотвращение приостановки приложения. Сохраняет систему активной, но позволяет отключить экран. Примеры использования: загрузка файла или воспроизведение аудио.
  • prevent-display-sleep: Предотвращение перехода дисплея в спящий режим. Поддерживает систему и экран активными.

Выполнение метода start возвращает идентификатор, который можно использовать либо для проверки работоспособности службы, либо просто для ее остановки.

стоп

В качестве первого аргумента метод ожидает идентификатор службы, запущенной методом start:

  • id: Идентификатор блокировщика энергосбережения, возвращаемый powerSaveBlocker.start,

isStarted

Метод проверяет, правильно ли запущен сервис-блокировщик:

  • id Integer — идентификатор блокировщика энергосбережения, возвращаемый powerSaveBlocker.start,

Использование API

Следующий код показывает, как запретить сну экран с помощью API:

Важный

Код должен быть выполнен в процессе визуализации (index.html или JS-файлы, импортированные на него), а не в основной, иначе блокировщик не будет работать.


Electron Application
// Require remote of electron
const remote = require("electron").remote;
// Use the 'prevent-display-sleep' mode
const id = remote.powerSaveBlocker.start("prevent-display-sleep");
// If needed, stop the blocker
// remote.powerSaveBlocker.stop(id);
console.log("Power Save Blocker Started: ", powerSaveBlocker.isStarted(id));
Ссылка на основную публикацию
Adblock
detector