2011-09-17 25 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