我正在尝试制作一个应用程序,该应用程序将计算第三方应用程序的使用时间,并在关闭后弹出并显示该应用程序的运行时间。我们可以通过时间戳为我们的应用程序使用找到相同的东西,如下所述:how to calculate time spent on my app by timestamp
如何计算第三方应用的(开启/激活)时间?
最佳答案
我想您是从 Activity 中调用第三方应用程序的,因此您可以计算从调用应用程序获取结果时开始到调用 onActivityResult 时结束的延迟。
您还可以在调用 onPause 时启动计时器并在调用 onResume 时结束计时器,因为您的 Activity 在另一个 Activity 启动时失去了焦点。
编辑
如果您的应用没有启动其他应用,那么您可以使用具有 READ_LOGS 权限的服务并检测 ActivityManager 日志以查看调用了哪些 Intent,例如
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action,..}
搜索 ActivityManager 标签。
关于java - 如何计算当前在我的应用程序中打开的第三方应用程序的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38032368/