2013-08-04 189 views
0

了我要计算在前台活动运行时,应用程序花了时间,时间应用程序在运行

例如: 如果我打开我的FB的应用程序在Android上,我可以知道我打开它的时候还是我关闭应用程序的时间呢?

我想知道在前台运行的应用程序的时间,而不是后台服务。

谢谢。

回答

0

这在Android中很不幸有点困难。通常,这是这样的想法:

  • 当活动出现在用户的前面时,每次活动的onResume()都被调用一次。
  • 当活动消失时,每次活动的onPause()都会被调用一次。

我在我的应用程序做的是以下几点:

  • 在我的应用程序的每个活动变为子类的一些GenericActivity
  • 这GenericActivity保持两个数组,openArraycloseArray
  • 每次onResume()被调用,getCurrentTimeMillis被推入openArray
  • 每次调用onPause()时,getCurrentTimeMillis i s推到closeArray
  • 每当openArraycloseArray具有相同数量的元素,这意味着应用程序已关闭。从closeArray的最后一个元素中减去openArray的第一个元素。这应该给你应用程序在用户面前打开的毫秒数。

对不起,长期以来的答案。让我知道这是否有道理。