如何在android中知道应用程序状态背景到前台?
我从一个Baseactivity调用扩展了我的Activity,而Baseactivity类扩展了android Activity。我将代码appcomeForeground()放入onRestart()的基本活动中,但当我们将活动导航到前台应用程序时,它也会调用。
请建议只有当应用程序出现前台时才能获得回调的方法。
提前谢谢。
发布于 2013-03-20 22:12:36
要检查您的应用程序是否在前台,您可以执行以下操作。
声明一个将维护状态的类
public class ApplicationState {
public static boolean isActivityVisible() {
return activityVisible;
}
public static void activityResumed() {
activityVisible = true;
}
public static void activityPaused() {
activityVisible = false;
}
private volatile static boolean activityVisible;
}在应用程序调用的每个活动的onResume方法中
ApplicationState.activityResumed()并在应用程序调用的每个活动的onPause方法中
ApplicationState.activityPaused()现在,您可以在任何时候只需调用
ApplicationState.isActivityVisible()发布于 2013-03-20 22:11:39
在Baseactivity中维护一个布尔变量,
即:
private boolean isForeground;Baseactivity的内部onResume()制作isForeground = true,Baseactivity的内部onPause()方法制作isForeground = false
当您想知道状态时,请检查该布尔变量,并相应地应用您的进一步逻辑。
发布于 2013-03-20 22:09:27
没有框架提供的方法来做到这一点。我在这里描述了我自己的解决方案:https://stackoverflow.com/a/14734761/1207921
https://stackoverflow.com/questions/15525711
复制相似问题