如何使用Java检测PC已空闲30秒?
EDITED
闲置我的意思是没有用户活动。用户在30秒内什么都不做。我喜欢像Windows这样的应用,检测用户什么都不做,然后进入stad-by。
答案 0 :(得分:13)
我遇到了使用JNA检测系统范围空闲时间的优秀示例。 Java Native Access (JNA)是一个提供Java Native Interface (JNI)访问权限的库,无需您实际编写本机代码。
Here's the example非常接近你所要求的。
答案 1 :(得分:7)
无法按要求生效,但您可以使用java.lang.management API创建变通方法。 JNI实现也可以在javaworld上找到。
答案 2 :(得分:6)
直接来自java,这是不可能的。你必须找到一些本地库并为此创建一个JNI包装器。
答案 3 :(得分:6)
不容易看看OperatingSystemMXBean方法getSystemLoadAverage()仅在java 6中可用,你可以跟踪它,如果它在一段时间内是相同的,则确定pc是空闲的。
假设空闲CPU
空闲OperatingSystemMXBean operatingSystemMxBean = ManagementFactory.getOperatingSystemMXBean();