2009-06-05 44 views
3

首先,請不要移到serverfault。這確實是一個編程問題:-)開發功耗感知應用程序

我們正在開發偶爾連接的應用程序。這些應用程序位於筆記本電腦和手持設備上。就我而言,應用程序運行在一個小的servlet容器(如碼頭)上。

要求是,如果系統空閒,應用程序應該暫停自己。 如果筆記本電腦的蓋子已關閉,則應用程序和servlet容器處於掛起模式。

這些東西是操作系統本身的一個特性,還是可以將這種能力意識內置到應用程序中?如果它可以構建到應用程序中,如何實現?

回答

2

每個操作系統都提供了一組可適當使用和訂閱的API和通知。例如,Windows在發生電源事件之前向所有窗口發送WM_POWERBROADCAST消息。請在MSDN的Power Management部分閱讀更多內容。

但是,您希望在java應用程序中使用功耗感知功能,這需要您使用某種JNI橋接器。關於檢測待機和拒絕請求的文章有codeproject(儘管在Windows Vista/7中不允許禁止電源轉換)。