2009-06-05 40 views
3

首先,请不要移到serverfault。这确实是一个编程问题:-)开发功耗感知应用程序

我们正在开发偶尔连接的应用程序。这些应用程序位于笔记本电脑和手持设备上。就我而言,应用程序运行在一个小的servlet容器(如码头)上。

要求是,如果系统空闲,应用程序应该暂停自己。 如果笔记本电脑的盖子已关闭,则应用程序和servlet容器处于挂起模式。

这些东西是操作系统本身的一个特性,还是可以将这种能力意识内置到应用程序中?如果它可以构建到应用程序中,如何实现?

回答

2

每个操作系统都提供了一组可适当使用和订阅的API和通知。例如,Windows在发生电源事件之前向所有窗口发送WM_POWERBROADCAST消息。请在MSDN的Power Management部分阅读更多内容。

但是,您希望在java应用程序中使用功耗感知功能,这需要您使用某种JNI桥接器。关于检测待机和拒绝请求的文章有codeproject(尽管在Windows Vista/7中不允许禁止电源转换)。