chrome.idle

refresh date: 2026-09-25 robots: noindex

说明

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

权限

idle

清单

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

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

类型

IdleState

Chrome 44 及更高版本

枚举

"active"

"idle"

"locked"

方法

getAutoLockDelay()

Promise Chrome 73 及更高版本 仅限 ChromeOS
chrome.idle.getAutoLockDelay(
  callback?: function,
)
: Promise<number>

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

参数

  • callback

    函数可选

    callback 参数如下所示:

    (delay: number) => void

    • delay

      数值

      设备处于闲置状态时,屏幕自动锁定前的时间(以秒为单位)。如果屏幕一律不自动锁定,则此值为 0。

返回

  • <number>

    Chrome 116 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

queryState()

Promise
chrome.idle.queryState(
  detectionIntervalInSeconds: number,
  callback?: function,
)
: Promise<IdleState>

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

参数

  • detectionIntervalInSeconds

    数值

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

  • callback

    函数可选

    callback 参数如下所示:

    (newState: IdleState) => void

返回

  • Promise<IdleState>

    Chrome 116 及更高版本

    只有 Manifest V3 及更高版本支持 Promise,其他平台需要使用回调。

setDetectionInterval()

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

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

参数

  • intervalInSeconds

    数值

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

事件

onStateChanged

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

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

参数

  • callback

    函数

    callback 参数如下所示:

    (newState: IdleState) => void