如何在Android中跟踪应用程序使用情况?如何检测活动何时启动?

时间:2012-01-26 00:13:49

标签: android usage-statistics

我需要跟踪Android中的应用使用情况,例如AppUsage如何做到这一点(即跟踪应用启动的数量,以及使用每个应用的时间)。我打算做的是记录应用程序启动时的开始时间,然后获取应用程序暂停或停止时的结束时间。在LogCat中,我能够看到Activity的起始日志。我查看了可用的系统广播,我不确定在活动开始时是否有任何广播。 。基本上,我如何检测活动何时启动?

编辑: 此外,Android还有一个内部使用的使用情况统计系统,可以在备件应用程序中找到,或者拨打*#*#4636#*#*时(测试 - >使用情况统计信息)

2 个答案:

答案 0 :(得分:13)

我们现在可以使用作为Android 5.0 API的一部分发布的新android.app.usage API访问Android设备上的应用使用历史记录。系统按应用程序收集使用情况数据,每天汇总数据,每周,每月和每年的间隔

对于每个应用程序,系统会记录以下数据:

最后一次使用该应用 应用在该时间间隔内的前景的总时间长度(按天,周,月或年) 在一天内将组件(由包和活动名称标识)移动到前台或后台时捕获的时间戳 设备配置更改时的时间戳捕获(例如,由于旋转而导致设备方向发生变化)

Refr:http://developer.android.com/reference/android/app/usage/package-summary.html

答案 1 :(得分:6)

  

基本上,我如何检测活动何时启动?

你没有。 Android SDK中没有“启动应用程序的开始时间”或“应用程序暂停或停止时的结束时间”。

你引用的应用程序可能正在做的是浪费大量CPU时间,内存和电池寿命,持续轮询ActivityManager

请记住,如果您打算让除了用户之外的任何人访问它,您建议跟踪的内容与违反CarrierIQ类型的隐私权的行为有关。