组织系统休眠
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
}
}