chrome.idle

更新日: 2026-09-25 robots: noindex

説明

chrome.idle API を使用して、マシンのアイドル状態が変化したことを検出します。

権限

idle

マニフェスト

Idle API を使用するには、拡張機能のマニフェストで「idle」権限を宣言する必要があります。次に例を示します。

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

型

IdleState

Chrome 44 以降

列挙型

「有効」

"idle"

"locked"

メソッド

getAutoLockDelay()

Promise Chrome 73 以降 ChromeOS のみ
chrome.idle.getAutoLockDelay(
  callback?: function,
)
: Promise<number>

アイドル状態のときに画面が自動的にロックされるまでの時間を秒単位で取得します。画面が自動的にロックされない場合は、ゼロの期間を返します。現在、ChromeOS でのみサポートされています。

パラメータ

  • callback

    function 省略可

    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

    function 省略可

    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