説明
chrome.idle API を使用して、マシンのアイドル状態が変化したことを検出します。
権限
idleIdle API を使用するには、拡張機能のマニフェストで "idle" 権限を宣言する必要があります。次に例を示します。
{
"name": "My extension",
...
"permissions": [
"idle"
],
...
}
型
IdleState
列挙型
「有効」
"idle"
"locked"
メソッド
getAutoLockDelay()
browser.idle.getAutoLockDelay(): Promise<number>
アイドル状態のときに画面が自動的にロックされるまでの時間を秒単位で取得します。画面が自動的にロックされない場合は、ゼロの期間を返します。現在、ChromeOS でのみサポートされています。
戻り値
-
Promise<number>
Chrome 116 以降 Chrome 148 以降の browser.*
queryState()
browser.idle.queryState(
detectionIntervalInSeconds: number,
): Promise<IdleState>
システムがロックされている場合は「locked」、ユーザーが指定された秒数だけ入力を生成していない場合は「idle」、それ以外の場合は「active」を返します。
パラメータ
-
detectionIntervalInSeconds
数値
最後のユーザー入力が検出されてから detectionIntervalInSeconds 秒が経過すると、システムはアイドル状態と見なされます。
戻り値
-
Promise<IdleState>
Chrome 116 以降 Chrome 148 以降の browser.*
setDetectionInterval()
browser.idle.setDetectionInterval(
intervalInSeconds: number,
): void
onStateChanged イベントでシステムがアイドル状態であるかどうかを判断するために使用する間隔(秒単位)を設定します。デフォルトの間隔は 60 秒です。
パラメータ
-
intervalInSeconds
数値
システムがアイドル状態にあると判断するために使用されるしきい値(秒単位)。
イベント
onStateChanged
browser.idle.onStateChanged.addListener(
callback: function,
)
システムがアクティブ、アイドル、ロック状態に変化したときに呼び出されます。このイベントは、画面がロックされているかスクリーンセーバーが有効になっている場合は「locked」、システムのロックが解除されていて、指定された秒数の間ユーザーが入力を行っていない場合は「idle」、アイドル状態のシステムでユーザーが入力を行った場合は「active」で呼び出されます。