如何在Android中了解应用程序状态从后台到前台?
我将我的活动从一个名为Baseactivity的类继承,而Baseactivity类又继承了android Activity。 我在onRestart()中将代码appcomeForeground()放入了Baseactivity中,但是当我们将活动导航到前台应用程序时,它也会被调用。
请建议仅在应用程序进入前台时获取回调的方法。
提前感谢您的帮助。
如何在Android中了解应用程序状态从后台到前台?
我将我的活动从一个名为Baseactivity的类继承,而Baseactivity类又继承了android Activity。 我在onRestart()中将代码appcomeForeground()放入了Baseactivity中,但是当我们将活动导航到前台应用程序时,它也会被调用。
请建议仅在应用程序进入前台时获取回调的方法。
提前感谢您的帮助。
i.e.:
private boolean isForeground;
Baseactivity
的onResume()
方法中,将isForeground = true
,在Baseactivity
的onPause()
方法中,将isForeground = false
。每当您想了解状态时,请检查该布尔变量并相应地应用您的逻辑。要检查应用程序是否在前台或后台,您可以执行以下操作。
声明一个将维护状态的类。
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()
另一种解决方案是在意图上调用putExtra
,以让用户在应用程序的活动之间导航。如果onRestart
/onResume
未收到此Extra,则该应用程序刚刚进入前台。