2012-02-06 50 views
0

我想知道用戶是否在一段時間內不在。 (然後根據它做一些事情。)
我不能依賴屏幕上的睡眠,因爲用戶可能已經禁用了它,或者它的值可能比我的應用程序的超時大。Android如何獲得最後的用戶響應時間

是有像在機器人操作的系統(最後一個用戶響應時間)的任何信息?我怎麼能得到它?

上次用戶響應時間=用戶和手機之間的最後一次交互時間。

p.s.:i我靶向Android 1.6的

回答

1

沒有,有沒有辦法知道何時是最後一次給用戶在SDK應用程序互動。你必須自己做點什麼。


一個簡單的解決方案的高級別解釋:

假設您使用的所有活動繼承了一些基本活動,您可以登錄您的BaseActivity.onPause方法當前時間。將其保存在應用程序首選項或數據庫中。當您的初始活動開始時(onResume)讀取相同的值並將其與當前時間進行比較。

您還可以使用Activity.onUserInteraction但保存到偏好/數據庫每次這就是所謂的應用將大大減緩/響應的感覺少!

+0

我已經這樣做了,但如果用戶在屏幕睡眠被禁用的情況下長時間處於相同的活動狀態會出現什麼情況。在這種情況下,我無法知道用戶不在。 – e13420xx 2012-02-06 15:56:46

+0

但是你怎麼知道用戶是否在看你的屏幕?你也可以使用http://developer.android.com/reference/android/app/Activity.html#onUserInteraction(),但是每次調用這個函數時都會保存到preferecens /數據庫中,這會大大減慢你的應用程序的運行速度。 – 2012-02-06 18:06:34

+0

如果你編輯你的答案與你最新的評論我會接受它。 – e13420xx 2012-02-07 09:41:57

相關問題