chrome.idle

说明

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

权限

idle

清单

你必须声明“idle”权限,以使用闲置 API。例如:

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

类型

IdleState

Chrome 44 及更高版本

枚举

"有效"

"idle"

"已锁定"

方法

getAutoLockDelay()

<ph type="x-smartling-placeholder"></ph> 承诺 Chrome 73 及更高版本 仅限 ChromeOS
chrome.idle.getAutoLockDelay(
  callback?: function,
)

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

参数

  • callback

    函数(可选)

    callback 参数如下所示:

    (delay: number) => void

    • delay

      number

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

返回

  • Promise&lt;number&gt;

    Chrome 116 及更高版本

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

queryState()

<ph type="x-smartling-placeholder"></ph> 承诺
chrome.idle.queryState(
  detectionIntervalInSeconds: number,
  callback?: function,
)

返回“锁定”如果系统锁定,则“空闲”如果用户在指定秒数内未生成任何输入,则为“有效”否则。

参数

  • detectionIntervalInSeconds

    number

    如果自检测到上一次用户输入后经过了 DetectionIntervalInSeconds,则系统会将系统视为空闲。

  • callback

    函数(可选)

    callback 参数如下所示:

    (newState: IdleState) => void

返回

  • Promise&lt;IdleState&gt;

    Chrome 116 及更高版本

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

setDetectionInterval()

chrome.idle.setDetectionInterval(
  intervalInSeconds: number,
)

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

参数

  • intervalInSeconds

    number

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

事件

onStateChanged

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

当系统切换为活动、空闲或锁定状态时触发。该事件触发并显示“locked”如果屏幕已锁定或屏保激活,则“闲置”如果系统处于解锁状态,并且用户在指定秒数内未生成任何输入,则“活跃”当用户在空闲系统上生成输入时触发。

参数

  • callback

    函数

    callback 参数如下所示:

    (newState: IdleState) => void