--- title: nsIIdleService slug: nsIIdleService tags: - Interfaces - MDC Project - NeedsContent - XPCOM API Reference translation_of: Mozilla/Tech/XPCOM/Reference/Interface/nsIIdleService ---
유휴 서비스를 이용하면 사용자가 얼마나 오래 '유휴 상태' 즉, 마우스나 키보드를 사용하지 않았는지 감시할 수 있습니다. 유휴 시간을 직접 얻을 수도 있지만 대부분의 경우 미리 지정한 간격에 대한 관찰자를 등록하게 됩니다.
현재 nsIIdleService
구현은 Windows, Mac OS X, Linux (XScreenSaver 이용)에 존재합니다.
구현 클래스: @mozilla.org/widget/idleservice;1
. 인스턴스를 생성하려면 다음과 코드를 사용합니다.
var idleService = Components.classes["@mozilla.org/widget/idleservice;1"] .getService(Components.interfaces.nsIIdleService)
void addIdleObserver(in nsIObserver observer, in unsigned long time) |
void removeIdleObserver(in nsIObserver observer, in unsigned long time) |
속성 | 형식 | 설명 |
idleTime |
long |
1000분의 1초 단위의 마지막 사용자 동작 이후 지난 시간. 읽기 전용. |
사용자가 특정 시간 동안 유휴일 때와 유휴 상태에서 돌아올 때 알림을 받을 관찰자를 추가합니다.
void addIdleObserver( in nsIObserver observer, in unsigned long time )
nsIIdleService
자체입니다. 사용자가 유휴가 되면 관찰자 주제는 'idle'이고 다시 돌아오면 관찰자 주제는 'back'입니다. 알림의 data 매개 변수는 현재의 사용자 유휴 시간을 포함하고 있습니다.addIdleObserver로 등록한 관찰자를 제거합니다.
void removeIdleObserver( in nsIObserver observer, in unsigned long time )
관찰자는 것은 여러분이 지정한 유휴 시간에 대하여 한 번 제거하게 됩니다. 관찰자를 여러 번 추가했다면 그 수 만큼 제거
예제 1:
var idleService = Components.classes["@mozilla.org/widget/idleservice;1"] .getService(Components.interfaces.nsIIdleService) setTimeout(function() { alert(idleService.idleTime) }, 1000) // if you don't use the mouse or the keyboard after running this snippet, // you'll see a number around 1000 alerted.
예제 2:
var idleService = Components.classes["@mozilla.org/widget/idleservice;1"] .getService(Components.interfaces.nsIIdleService) var idleObserver = { observe: function(subject, topic, data) { alert("topic: " + topic + "\ndata: " + data); } }; idleService.addIdleObserver(idleObserver, 60); // one minute // ... // Don't forget to remove the observer using removeIdleObserver! idleService.removeIdleObserver(idleObserver, 60);
Interwiki Language Links