browser.idle

说明

使用 chrome.idle API 检测机器的空闲状态何时发生变化。

权限

idle

您必须在扩展程序的清单中声明 "idle" 权限,才能使用 Idle API。例如:

{
  "name": "My extension",
  ...
  "permissions": [
    "idle"
  ],
  ...
}

类型

IdleState

Chrome 44 及更高版本 browser.*(自 Chrome 148 起)

枚举

"active"

"idle"

"locked"

方法

getAutoLockDelay()

Chrome 73 及更高版本 browser.*(自 Chrome 148 起) 仅限 ChromeOS
browser.idle.getAutoLockDelay(): Promise<number>

获取设备在闲置状态下自动锁屏所需的时间(以秒为单位)。如果屏幕从未自动锁定,则返回零时长。目前仅支持 ChromeOS。

返回

  • <number>

    Chrome 116 及更高版本 browser.*(自 Chrome 148 起)

queryState()

browser.idle.queryState(
  detectionIntervalInSeconds: number,
)
: Promise<IdleState>

如果系统已锁定,则返回“locked”;如果用户在指定的秒数内未生成任何输入,则返回“idle”;否则返回“active”。

参数

  • detectionIntervalInSeconds

    数值

    如果自检测到最后一次用户输入以来已过去 detectionIntervalInSeconds 秒,则系统会被视为处于空闲状态。

返回

  • Promise<IdleState>

    Chrome 116 及更高版本 browser.*(自 Chrome 148 起)

setDetectionInterval()

browser.idle.setDetectionInterval(
  intervalInSeconds: number,
)
: void

设置用于确定系统何时处于空闲状态的时间间隔(以秒为单位),以便触发 onStateChanged 事件。默认间隔时间为 60 秒。

参数

  • intervalInSeconds

    数值

    用于确定系统何时处于空闲状态的阈值(以秒为单位)。

事件

onStateChanged

browser.idle.onStateChanged.addListener(
  callback: function,
)

当系统更改为活跃、空闲或锁定状态时触发。如果屏幕被锁定或屏保激活,该事件会触发“locked”;如果系统未锁定且用户在指定秒数内未生成任何输入,该事件会触发“idle”;当用户在空闲系统上生成输入时,该事件会触发“active”。

参数

  • callback

    函数

    callback 参数如下所示:

    (newState: IdleState) => void