0

我想计算应用程序在前台活动中运行时所花费的时间,

例如:如果我在 android 上打开我的 fb 应用程序,我能知道我打开它的时间和关闭应用程序的时间吗?

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

谢谢。

4

1 回答 1

0

不幸的是,这在 Android 中有点难以做到。一般来说,这个想法是:

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

我在我的应用程序中执行以下操作:

  • 我的应用程序中的每个活动都成为一些 GenericActivity 的子类
  • 该 GenericActivity 保留两个数组,openArray并且closeArray
  • 每次调用 onResume() 时,getCurrentTimeMillis都会被推送到openArray
  • 每次调用 onPause() 时,getCurrentTimeMillis都会被推送到closeArray
  • 无论何时openArray并且closeArray具有相同数量的元素,这意味着该应用程序已关闭。openArray从 的最后一个元素中减去 的第一个元素closeArray。这应该为您提供应用程序在用户面前打开的毫秒数。

抱歉,答案很长。让我知道这是否有意义。

于 2013-08-04T02:13:08.383 回答