2013-04-27 23 views
1

我正在編寫一段Android代碼,它將嘗試識別用戶最後一次使用Android設備的時間。通過使用我的意思是執行任何操作。如果設備完全沒有使用,讓我說1整天我想在我的服務正在運行中執行一些操作。所以基本上當設備沒有被使用(空閒狀態)那個時候我想識別所有這些。如何識別上次使用Android設備的時間

Android可以實現這個嗎?我怎樣才能進一步處理這個要求?

任何指針都有助於識別X天(或幾小時)內未使用的設備,並從空閒狀態對其執行某些操作。

謝謝!

+0

'SCREEN_ON'(= usage)和'SCREEN_OFF'(= idle)的廣播事件是否足夠準確?然後檢查http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-on-intents/ ... – Trinimon 2013-04-27 12:13:30

+0

嗨Trinimon, 感謝您的回覆。我們可以使用服務在設備處於空閒模式時進行處理嗎?即使我使用SCREEN_OFF廣播事件來標記電話空閒狀態的開始,但是我將如何從這一點發現x時間已經過去。我們可以在服務器的閒置狀態下進行處理嗎? – learner 2013-04-27 12:24:45

+0

您可以在服務中進行一些處理,是的,您可以。 *使用時間*可能是從'SCREEN_ON'到'SCREEN_OFF'的時間(您可以相應地存儲時間戳 - 沒有問題)。但是,當然有些方面會讓它有點模糊,試想一下:如果用戶把手機放在旁邊,它可能仍然需要一些時間,直到顯示器關閉;或者:如果用戶接到電話並將電話移至耳邊,系統將關閉顯示屏。 – Trinimon 2013-04-27 12:52:34

回答

1

請按照this tutorial屏幕打開/關閉。希望它對你有幫助。

如何識別上次使用Android設備的時間?

當第一次屏幕會打開,然後您可以讀取系統當前時間,並保存在共享偏好,並從第二次(系統當前時間 - 讀共享PREF最後一個帶孔的值)這些毫秒轉換時間。

+0

感謝您的回覆。我們可以使用服務在設備處於空閒模式時進行處理嗎?即使我使用SCREEN_OFF廣播事件來標記電話空閒狀態的開始,但是我將如何從這一點發現x時間已經過去。我們可以在服務器的閒置狀態下進行處理嗎? – learner 2013-04-27 12:31:19

+0

我編輯了我的答案請檢查。 – 2013-04-27 12:32:53

+0

我的要求是,我需要找到從上次使用設備開始的時間,並在X時間過去時執行一些操作。這並不意味着當時會使用設備。我不能依靠「屏幕上」來查找時差並執行操作。 – learner 2013-04-27 12:37:05