0
우분투 11.10 이후 버전에서는 JNA가 시스템 유휴 시간을 가질 수 없습니다.JNA는 우분투 11.10 이후 버전에서 시스템 유휴 시간을 얻을 수 없습니다
public static long getIdleTimeMillis() {
X11.Window win = null;
Xss.XScreenSaverInfo info = null;
X11.Display dpy = null;
final X11 x11 = X11.INSTANCE;
final Xss xss = Xss.INSTANCE;
long idlemillis = 0L;
try {
dpy = x11.XOpenDisplay(null);
win = x11.XDefaultRootWindow(dpy);
info = xss.XScreenSaverAllocInfo();
xss.XScreenSaverQueryInfo(dpy, win, info);
idlemillis = info.idle.longValue();
} finally {
if (info != null)
x11.XFree(info.getPointer());
info = null;
if (dpy != null)
x11.XCloseDisplay(dpy);
dpy = null;
}
return idlemillis;
이 코드를 사용하여 유휴 시간을 캡처하고 있습니다. 그것은 우분투의 낮은 버전에서 잘 작동합니다. 하지만 최신 버전에서는 작동하지 않습니다. 그것은 라인으로부터 움직이지
최종 XSS XSS = Xss.INSTANCE;
나에게 적절한 해결책을 제안하십시오.
가 성공적으로 네이티브 코드에서이 함수를 호출 할 수 있습니다 필요한? 우분투 업그레이드가 해당 라이브러리를 파손했거나 제대로 업데이트하지 못했을 가능성이 큽니다. – technomage
네이티브 코드에서 이러한 함수를 호출 할 수 있습니다. – Martin
라이브러리를로드 할 때 예외가 발생하지 않았습니까? – technomage