0
我需要在Java桌面應用程序(30分鐘沒有單擊按鈕時)30分鐘不活動時執行註銷。如何實現這個?有人有任何想法嗎?在Java中是否有任何觀察者已經在使用它?當Java應用程序未激活30分鐘時註銷問題
我需要在Java桌面應用程序(30分鐘沒有單擊按鈕時)30分鐘不活動時執行註銷。如何實現這個?有人有任何想法嗎?在Java中是否有任何觀察者已經在使用它?當Java應用程序未激活30分鐘時註銷問題
實際上,有兩個部分是:
在第一部分,這主要取決於你如何定義「不活躍」。一個選擇:有一些時間字段用於「最後一次活動」,該活動通過任何實施活動的代碼進行更新。您可以使用java.util.Timer每分鐘觸發一次,並檢查「上次活動」是否超過30分鐘,然後將用戶註銷。
另一種選擇是使用the approach from this question來實現可復位的定時器,然後可以在有活動時重置。然後註銷將在30分鐘後,而不是30-31分鐘。
至於「註銷用戶」,這將取決於您的操作系統。 Java本身沒有API,但在大多數平臺上,您只需使用Runtime.exec
或類似的函數調用操作系統二進制文件即可。另請注意,註銷用戶可能需要在某些平臺上提升特權,因此請考慮這一點。
最後,也許你可以解釋底層問題是什麼?爲什麼你不能例如在30分鐘後設置操作系統屏幕鎖定屏幕?那不是那麼容易嗎?
這是一個webapp? – 2011-04-20 07:21:46
不,桌面應用程序 – Damir 2011-04-20 07:26:05
多用戶桌面應用程序? – lobster1234 2011-04-20 07:26:14