getRunningTasks
中的ActivityManager
方法可以完美运行,但在21中已弃用。您还可以做什么来获取前台应用程序,然后查看它运行了多长时间前景?
我见过一些变种,但似乎所有这些都是迂回的方式。
感谢。
答案 0 :(得分:0)
我建议使用Application.ActivityLifecycleCallbacks接口。它允许您在活动调用生命周期方法时进行监听。你可以这样做:
@Override
public void onActivityStarted(Activity activity) {
if (startedActivities == 0) {
//App is in foreground get start time, store it in variable
}
activityCounter++;
}
@Override
public void onActivityStopped(Activity activity) {
startedActivities--;
if (startedActivities == 0) {
//App is in background, get stored time and here you go
}
}
还有一些其他想法可以检测应用程序移动到前台/后台,但这只是我的应用程序中可靠的一个。
同时检查this