chrome.idle

说明

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

权限

idle

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

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

类型

IdleState

Chrome 44 及更高版本

枚举

"idle"

方法

getAutoLockDelay()

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

获取屏幕在闲置时自动锁定所需的时间(以秒为单位)。如果屏幕从未自动锁定,则返回零持续时间。目前仅适用于 ChromeOS。

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    (delay: number)=>void

    • delay

      number

      屏幕在闲置时自动锁定的时间(以秒为单位)。如果屏幕一律不自动锁定,则此值为零。

返回

  • Promise<数字>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

queryState()

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

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

参数

  • detectionIntervalInSeconds

    number

    如果自检测到上次用户输入以来已经过检测间隔时间秒数,系统会将系统视为空闲。

  • callback

    函数(可选)

    callback 参数如下所示:

    (newState: IdleState)=>void

返回

  • Promise<IdleState>

    Chrome 116 及更高版本

    Manifest V3 及更高版本支持 promise,但提供回调以实现向后兼容性。您不能在同一个函数调用中同时使用这两者。promise 使用传递给回调函数的同一类型进行解析。

setDetectionInterval()

chrome.idle.setDetectionInterval(
  intervalInSeconds: number,
)

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

参数

  • intervalInSeconds

    number

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

活动

onStateChanged

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

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

参数

  • callback

    功能

    callback 参数如下所示:

    (newState: IdleState)=>void