chrome.idle

refresh date: 2026-09-25 robots: noindex

說明

使用 chrome.idle API 偵測機器閒置狀態何時變更。

權限

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。

傳回

  • Promise<number>

    Chrome 116 以上版本

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

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 以上版本

    Promise 僅適用於 Manifest V3 以上版本,其他平台則須使用回呼。

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