我想检测应用程序每次从后台到前台的时间。 我正在使用以下代码来确定状态
topActivity.getPackageName().equals(context.getPackageName())
但是我需要重复执行代码,以便每当我的应用程序进入前台时都能检测到
答案 0 :(得分:1)
这是你的应用程序。活动始终知道它是否可见。所以,让你的每一个活动告诉某人它的状态。您无需轮询应用程序状态。 Check this answer.
答案 1 :(得分:0)
试试这个:
public static String isApplicationSentToBackground(final Context context) {
ActivityManager am = (ActivityManager) context
.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (topActivity.getPackageName().equals(context.getPackageName())) {
return "true";
}
}
return "false";
}
希望这有帮助。