首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android如何区分后台应用和后台活动?

Android如何区分后台应用和后台活动?
EN

Stack Overflow用户
提问于 2011-09-01 01:45:51
回答 3查看 1.2K关注 0票数 4

有没有办法在后台为应用程序获取不同的事件,以及在后台进行特定的活动?

换句话说,当任何活动转到后台调用onPause()方法时,有没有发现整个应用程序都转到了后台?

当应用程序转到后台时,清单文件是否有关闭应用程序的设置。

谢谢,

AndroidIT

EN

回答 3

Stack Overflow用户

发布于 2012-04-11 02:50:20

用于标识应用程序是否在后台的

有一种更简单的方法:

在所有活动都可扩展的BaseActivity上:

代码语言:javascript
复制
protected static boolean isVisible = false;

 @Override
    public void onResume()
    {
        super.onResume();
setVisible(true);
}


 @Override
    public void onPause()
    {
        super.onPause();
setVisible(false);
}

当您需要检查是否有任何应用程序活动处于前台时,只需检查isVisible()即可;

要理解这种方法,请查看并排活动生命周期的答案:Activity side-by-side lifecycle

如果你想在应用程序转到background时终止它,你有几个选择:

  1. 类似于:Remove or close your own Activity window from a Status Bar Notification Intent modified for what you want.
  2. Explore:android:finishOnTaskLaunch
  3. android:excludeFromRecents,以及如何创建逻辑来实现此效果(已经这样做了)
票数 2
EN

Stack Overflow用户

发布于 2011-09-01 02:21:07

我假设你的所有活动都是由你的应用程序中的其他活动启动的。如果是这样的话,也许你的活动可以设置一个标志,表明它正在启动一个活动。然后,当调用onpause()时,此标志将确定应用程序是移动到后台还是只是启动下一个活动。

票数 0
EN

Stack Overflow用户

发布于 2011-09-01 02:27:03

将每个活动的状态保存在共享首选项中。每个活动都需要在首选项文件中有自己的字段。每次onResumeonPause时,请更新正确的首选项。

或者:每次您通过onResumeonPause向服务发送X活动已暂停/恢复的通知。该服务将以这种方式跟踪应用程序状态

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

https://stackoverflow.com/questions/7261127

复制
相关文章

相似问题

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