2011-09-17 64 views

回答

1

保持靜態time變量。每當您的活動在屏幕上時,即在調用onResume時,啓動一個新計時器。當你的活動不在屏幕上時,暫停計時器,即onPause,onStop,onDestroy,並將經過的時間加到time變量中。

Copa的答案將非常有用地計算你的應用程序的許多會話的時間。

+1

你的回答也許是有點誤導。基於它,人們可能會認爲你可以/應該做這樣的'新的Timer()。start();'。很顯然,這是不可能的,因爲類Timer是用於調度TimerTask對象,以便在特定時間或定期執行。所以我想通過計時器,你只需要在'onResume'中設置'this.startedAt = SystemColck.elapsedRealtime();'和'onPause','onStop'和'onDestroy'就可以了。 'if(this.startedAt!= null){static_timer + = SystemColck.elapsedRealtime(); this.startedAt = null; }' – Timo

+0

@Timo Lehto,我不是故意給出任何技術細節_只是一個想法如何做到這一點。但我認爲你的評論非常有用))) – superM