Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何找到在前台使用的android应用程序的花费时间。我使用了 UsageStatsManager,但它不返回包列表。 此链接中使用的示例代码
我认为最好的选择是使用活动的生命周期回调方法。开始时间是您向用户显示的第一个活动的 onCreate()。结束时间可能有点棘手。首先,如果您有多个活动,用户可以退出其中任何一个,因此您需要跟踪当前打开的活动并仅在下一个活动没有出现时才发送结束时间。第二个问题是你应该使用哪种回调方法?不保证会调用 onPause(),并且在从最近清除应用程序之前不会调用 onDestroy()。所以可能 onStop() 是正确的地方。
或者您可以使用应用程序的回调。只需从 Application 类派生并使用它的回调来进行时间跟踪。