Skip to main content

组织系统休眠

powerSaveBlocker

powerSaveBlocker 模块主要有以下几个功能

主要方法:

  • start(type):integer - 开启阻止应用挂起,保持系统活跃
  • stop(id) - 关闭
  • isStarted(id):boolean - 检查当前是否已设置挂起

start

powerSaveBlocker.start(type) : integer

type有以下几种模式

  • prevent-app-suspension - 阻止应用挂起. 保持系统活跃,但是允许屏幕不亮. 用例: 下载文件或者播放音频.
  • prevent-display-sleep- 阻止应用进入休眠. 保持系统和屏幕活跃,屏幕一直亮. 用例: 播放音频.

stop

isStarted

用例:

  • js
const { powerSaveBlocker } = require('electron')

const id = powerSaveBlocker.start('prevent-display-sleep')
console.log(powerSaveBlocker.isStarted(id))

powerSaveBlocker.stop(id)
  • ts
import { powerSaveBlocker } from 'electron'
import logger from './Logger'

export class EnergyManager {
prvite isStarted = false
prvite PID = undefined


static start() {
if (this.PID && powerSaveBlocker.isStarted(this.PID)) {
return
}

// 阻止系统休眠
this.PID = powerSaveBlocker.start('prevent-app-suspension')
logger.info('[stat] start power save blocker:', this.PID)
this.isStarted = true
}

static stop() {
if (typeof this.PID === 'undefined' || !powerSaveBlocker.isStarted(this.PID)) {
return
}

powerSaveBlocker.stop(this.PID)
logger.info('[stat] stop power save blocker:', this.PID)
this.PID = undefined
this.isStarted = false
}
}