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

如何跟踪Android中的应用程序使用情况?如何检测活动何时启动?,android,usage-statistics,Android,Usage Statistics,我需要跟踪Android中的应用程序使用情况,就像跟踪应用程序使用情况一样(即跟踪应用程序启动的次数以及每次使用的时间)。我计划做的是记录应用程序启动时的开始时间,然后获取应用程序暂停或停止时的结束时间。在LogCat中,我可以看到活动开始的日志。我已经查看了可用的系统广播,我不确定在活动启动时是否有任何广播。基本上,我如何检测活动何时启动 编辑: 此外,Android还有一个内部可用的使用统计系统,可以在备件应用程序中找到,也可以在拨打*.*.*.*.*.时找到(测试->使用统计) 基本上,我

我需要跟踪Android中的应用程序使用情况,就像跟踪应用程序使用情况一样(即跟踪应用程序启动的次数以及每次使用的时间)。我计划做的是记录应用程序启动时的开始时间,然后获取应用程序暂停或停止时的结束时间。在LogCat中,我可以看到活动开始的日志。我已经查看了可用的系统广播,我不确定在活动启动时是否有任何广播。基本上,我如何检测活动何时启动

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

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

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

您所引用的应用程序可能正在浪费大量CPU时间、RAM和电池寿命,连续轮询ActivityManager


请记住,如果您计划让用户以外的任何人访问您要跟踪的内容,这类侵犯隐私的行为让CarrierIQ陷入了相当大的麻烦。

我们现在可以通过Android 5.0 API中发布的新Android.app.usage API访问Android设备上的应用程序使用历史。该系统以每个应用程序为基础收集使用数据,每天、每周、每月汇总数据,每年一次

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

  • 上次使用该应用程序的时间
  • 应用程序运行的总时间长度 在该时间间隔的前景中(按天、周、月或 年)
  • 组件(由包标识)运行时捕获的时间戳 和活动名称)在一天内移动到前台或后台

  • 设备配置更改时捕获的时间戳(例如 设备方向因旋转而改变)


Refr:

根据:AppUsage几乎不使用电池电量-当您更改应用程序时,只会记录,不像其他每x秒检查一次的应用程序我不确定AppUsage是如何做到这一点的。这是一个向用户推荐应用程序的论文项目。其中一项要求是跟踪应用程序的使用情况。@Sofia:如果他们利用了安全漏洞,我会查看他们的应用程序并向谷歌报告。谢谢你引起我的注意!在内部,Android还有一个可用的使用统计系统,可以在备件应用程序中找到,也可以在拨打
*.*.*4636.*.*.
时找到。测试->使用统计“你不知道”不是一个很好的答案。几乎任何事情都有合法的方法和用例,OP在问题本身中提供了一个。我同意,但这并不意味着答案是“你不”。更确切地说,“Android团队没有为您提供易于使用的方法来实现这一点”,但当然有(非漏洞利用)方法可以为几乎任何事情做一些事情(在本例中,在4.1之前的设备上进行logcat扫描)。你是对的,这给电池寿命和CPU使用带来了压力,但这可能比“否”更接近OP想要的答案。我能检查一下应用程序使用USAGests使用了多少次吗?但字段“Context.usage_STATS_SERVICE”是从API 22(Android 5.1)添加的,那么,如何在API 22之前获得这些统计数据呢?这些数据在应用程序中是否可用?我可以拥有自己的应用程序来跟踪其他应用程序的使用情况吗?