chrome.idle

說明

使用 chrome.idle API 偵測電腦閒置狀態的變化。

權限

idle

資訊清單

如要使用 Idle API,必須在擴充功能的資訊清單中聲明「idle」權限。例如:

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

類型

IdleState

Chrome 44 以上版本

列舉

「active」

「idle」

「locked」

方法

getAutoLockDelay()

承諾 Chrome 73 以上版本 僅適用於 ChromeOS
chrome.idle.getAutoLockDelay(
  callback?: function,
)
: Promise<number>

取得螢幕閒置時自動鎖定前的時間 (以秒為單位)。如果螢幕從未自動鎖定,則會傳回零時長。目前僅支援 ChromeOS。

參數

  • callback

    函式 選用

    callback 參數如下:

    (delay: number) => void

    • delay

      數字

      裝置閒置時自動鎖定螢幕前的時間 (以秒為單位)。如果螢幕從不自動鎖定,這個值為零。

傳回

  • Promise<number>

    Chrome 116 以上版本

    只有資訊清單 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 以上版本

    只有資訊清單 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