如何检测应用程序的前台时间?

时间:2019-03-05 08:36:48

标签: android foreground usage-statistics usagestatsmanager

如何查找前景中使用的android应用程序的时间。我使用过UsageStatsManager,但未返回软件包列表。
sample code used from this link

1 个答案:

答案 0 :(得分:1)

我认为最好的选择是使用活动的生命周期回调方法。开始时间是您向用户显示的第一个活动的onCreate()。结束时间可能会比较棘手。首先,如果您有多个活动,则用户可以退出其中的任何一个活动,因此仅当下一个活动没有出现时,才需要跟踪当前打开的活动并发送结束时间。第二个问题是您应该使用哪种回调方法?不能保证onPause()会被调用,并且onDestroy()不会被调用,直到应用程序被清除。因此probablt onStop()是正确的地方。

或者您可以使用您的应用程序的回调。只需从Application类派生并使用其回调进行时间跟踪即可。