安卓应用统计-使用时长和次数统计(1)

最近一直在做一些应用统计相关的工作,主要是统计每天系统中客户端应用(非基础应用如DownLoadManager)的使用情况,包括打开的应用数量和应用的总使用时间。

在搜索方案中,大致有以下两种:

以下方案采用两种方案并行,主要以系统数据的统计结果为基础,以自记数据为参考,对两组数据进行对比,以保证统计结果的有效性和稳定性。

在Android中,系统会记录应用本身的打开次数和使用时间,并为开发者提供相关的API,但每次版本升级都可能给API带来相当大的变化,这次也不例外。但没变的是在拨号盘上输入* # * # 4636 # * *,进入工程模式,点击“使用情况统计”,就能看到统计界面。因为不同版本差异很大,相关资料也很少,所以这次使用的api和相关说明都是基于Android-5.1。在某些版本中,统计api的应用存在很多缺陷和陷阱,尤其是在手机厂商对源代码进行了修改之后,所以对于某些品牌的测试机,程序的运行结果会有一点不同。请注意。

本文主要介绍统计Android系统中各app使用情况的解决方案以及获取相关数据的方法。系统记录数据的原理以及该原理逻辑下可能出现的bug将在下一篇文章中详细阐述。

github:使用时间统计

参考资料:

对于Android 5.0及以上版本,可以通过UsageStatsManager类(精品)获取应用使用情况。

android如何获取系统中每个应用的使用时间?

Android UsageStatsService:关键点分析

获取Android5.1应用的打开次数

下一篇:安卓应用统计——使用时长和次数统计(2)