个性化阅读
专注于IT技术分析

如何防止系统在Electron Framework中进入暂停(睡眠)模式

本文概述

某些应用程序要求禁用”睡眠模式”或”屏幕睡眠模式”, 因为这会改变应用程序的行为。启用此功能后, 视频播放器, 下载管理器等应用程序将受到影响。像往常一样, 用户不会仅仅因为你的应用需要它而禁用计算机的睡眠模式(嗯, 并非总是如此), 这就是为什么应用程序应该寻找一种解决此睡眠模式的方法而不使用户做一些特别的事情的原因。

这就是为什么在最新版本中引入了Electron的Power Save Blocker API的原因, 并且在本文中, 我们将向你展示如何在基于Electron的混合桌面应用程序中轻松使用它。

重要

你的Electron Framework版本至少需要为v1.7.5, 才能与Power Save Blocker API一起正常使用。

API的工作方式

电子版的Power Save Blocker API阻止系统进入低功耗(睡眠)模式:

const {powerSaveBlocker} = require('electron')

该模块仅提供3种方法:

开始

start方法期望将具有你要使用的阻止程序类型的字符串作为第一个参数:

  • prevent-app-suspension:防止应用程序被挂起。使系统保持活动状态, 但允许关闭屏幕。用例示例:下载文件或播放音频。
  • prevent-display-sleep:防止显示器进入睡眠状态。使系统和屏幕保持活动状态。

执行start方法将返回一个ID, 该ID可用于验证服务是否正在运行或仅用于停止它。

该方法期望由start方法启动的服务的ID作为第一个参数:

  • id:powerSaveBlocker.start返回的节电阻止程序ID。

isStarted

该方法验证阻止程序服务是否已正确启动:

  • id整数-powerSaveBlocker.start返回的节电阻止程序ID。

使用API

以下代码显示了如何使用API​​防止屏幕进入休眠状态:

重要

该代码需要在渲染器进程(在其上导入index.html或JS文件)中执行, 而不是在主程序中执行, 否则阻止程序将无法工作。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>Electron Application</title>
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0, maximum-scale=1, minimum-scale=1">
    </head>
    <body>
        <div id="app"></div>

        <script>
            // 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));
        </script>
    </body>
</html>

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何防止系统在Electron Framework中进入暂停(睡眠)模式

评论 抢沙发

评论前必须登录!