首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android应用后台前台如何获取回调?

问Android应用后台前台如何获取回调?
EN

Stack Overflow用户
提问于 2013-03-20 22:01:20
回答 4查看 6.5K关注 0票数 3

如何在android中知道应用程序状态背景到前台?

我从一个Baseactivity调用扩展了我的Activity,而Baseactivity类扩展了android Activity。我将代码appcomeForeground()放入onRestart()的基本活动中,但当我们将活动导航到前台应用程序时,它也会调用。

请建议只有当应用程序出现前台时才能获得回调的方法。

提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-20 22:12:36

要检查您的应用程序是否在前台,您可以执行以下操作。

声明一个将维护状态的类

代码语言:javascript
复制
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方法中

代码语言:javascript
复制
ApplicationState.activityResumed()

并在应用程序调用的每个活动的onPause方法中

代码语言:javascript
复制
ApplicationState.activityPaused()

现在,您可以在任何时候只需调用

代码语言:javascript
复制
ApplicationState.isActivityVisible()
票数 1
EN

Stack Overflow用户

发布于 2013-03-20 22:11:39

在Baseactivity中维护一个布尔变量,

即:

代码语言:javascript
复制
  private boolean  isForeground;

Baseactivity的内部onResume()制作isForeground = true,Baseactivity的内部onPause()方法制作isForeground = false

当您想知道状态时,请检查该布尔变量,并相应地应用您的进一步逻辑。

票数 1
EN

Stack Overflow用户

发布于 2013-03-20 22:09:27

没有框架提供的方法来做到这一点。我在这里描述了我自己的解决方案:https://stackoverflow.com/a/14734761/1207921

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15525711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档