説明
chrome.idle API を使用して、マシンのアイドル状態が変化したタイミングを検出します。
権限
idleマニフェスト
アイドル API を使用するには、拡張機能のマニフェストで「idle」権限を宣言する必要があります。次に例を示します。
{
  "name": "My extension",
  ...
  "permissions": [
    "idle"
  ],
  ...
}
型
IdleState
列挙型
"active" 
 
"idle" 
 
"locked" 
 
メソッド
getAutoLockDelay()
chrome.idle.getAutoLockDelay(
callback?: function,
): Promise<number>
アイドル状態のときに画面が自動的にロックされるまでの時間を秒単位で取得します。画面が自動的にロックされない場合は、ゼロの期間を返します。現在、ChromeOS でのみサポートされています。
パラメータ
- 
    callback関数 省略可 callbackパラメータは次のようになります。(delay: number) => void - 
    delay数値 アイドル状態のときに画面が自動的にロックされるまでの時間(秒単位)。画面が自動的にロックされない場合は 0 です。 
 
- 
    
戻り値
- 
            Promise<number> Chrome 116 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。 
queryState()
chrome.idle.queryState(
detectionIntervalInSeconds: number,
callback?: function,
): Promise<IdleState>
システムがロックされている場合は「locked」、ユーザーが指定された秒数入力を行っていない場合は「idle」、それ以外の場合は「active」を返します。
パラメータ
- 
    detectionIntervalInSeconds数値 最後に検出されたユーザー入力から detectionIntervalInSeconds 秒経過すると、システムはアイドル状態と見なされます。 
- 
    callback関数 省略可 callbackパラメータは次のようになります。(newState: IdleState) => void - 
    newState
 
- 
    
戻り値
- 
            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」でイベントが発生します。