# powerSaveBlocker
`powerSaveBlocker` 模块是用来阻止应用系统进入睡眠模式的,因此这允许应用保持系统和屏幕继续工作.
例如:
```javascript
const powerSaveBlocker = require('electron').powerSaveBlocker;
var id = powerSaveBlocker.start('prevent-display-sleep');
console.log(powerSaveBlocker.isStarted(id));
powerSaveBlocker.stop(id);
```
## 方法
`powerSaveBlocker` 模块有如下方法:
### `powerSaveBlocker.start(type)`
* `type` String - 强行保存阻塞类型.
* `prevent-app-suspension` - 阻止应用挂起.
保持系统活跃,但是允许屏幕不亮. 用例:
下载文件或者播放音频.
* `prevent-display-sleep`- 阻止应用进入休眠. 保持系统和屏幕活跃,屏幕一直亮. 用例: 播放音频.
开始阻止系统进入睡眠模式.返回一个整数,这个整数标识了保持活跃的blocker.
**注意:** `prevent-display-sleep` 有更高的优先级
`prevent-app-suspension`. 只有最高优先级生效. 换句话说, `prevent-display-sleep` 优先级永远高于
`prevent-app-suspension`.
例如, A 请求调用了 `prevent-app-suspension`, B请求调用了 `prevent-display-sleep`. `prevent-display-sleep`
将一直工作,直到B停止调用. 在那之后, `prevent-app-suspension`
才起效.
### `powerSaveBlocker.stop(id)`
* `id` Integer - 通过 `powerSaveBlocker.start` 返回的保持活跃的 blocker id.
让指定blocker 停止活跃.
### `powerSaveBlocker.isStarted(id)`
* `id` Integer - 通过 `powerSaveBlocker.start` 返回的保持活跃的 blocker id.
返回 boolean, 是否对应的 `powerSaveBlocker` 已经启动.
- 介绍
- 常见问题
- Electron 常见问题
- 向导
- 支持平台
- 分发应用
- 提交应用到 Mac App Store
- 打包应用
- 使用 Node 原生模块
- 主进程调试
- 使用 Selenium 和 WebDriver
- 使用开发人员工具扩展
- 使用 Pepper Flash 插件
- 使用 Widevine CDM 插件
- 教程
- 快速入门
- 桌面环境集成
- 在线/离线事件探测
- API文档
- 简介
- 进程对象
- 支持的 Chrome 命令行开关
- 环境变量
- 自定义的 DOM 元素
- File 对象
- <webview> 标签
- window.open 函数
- 在主进程内可用的模块
- app
- autoUpdater
- BrowserWindow
- contentTracing
- dialog
- globalShortcut
- ipcMain
- Menu
- MenuItem
- powerMonitor
- powerSaveBlocker
- protocol
- session
- webContents
- Tray
- 在渲染进程(网页)内可用的模块
- desktopCapturer
- ipcRenderer
- remote
- webFrame
- 在两种进程中都可用的模块
- clipboard
- crashReporter
- nativeImage
- screen
- shell
- 开发
- 代码规范
- 源码目录结构
- 与 NW.js(原 node-webkit)在技术上的差异
- 构建系统概览
- 构建步骤(OS X)
- 构建步骤(Windows)
- 构建步骤(Linux)
- 在调试中使用 Symbol Server