Android如何区分后台应用程序和后台 Activity ?

标签 android

有没有办法为后台应用程序和后台特定 Activity 获取不同的事件?

换句话说,当调用 onPause() 方法的任何 Activity 进入后台时,有没有发现整个应用程序进入后台?

Manifest 文件是否有在进入后台时关闭应用程序的任何设置。

谢谢,

安卓IT

最佳答案

识别应用程序是否在后台:

有一个更简单的方法:

在所有 Activity 扩展的 BaseActivity 上:

protected static boolean isVisible = false;

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


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

每当您需要检查是否有任何应用程序 Activity 在前台时,只需检查 isVisible();

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

如果您想在进入后台时终止您的应用程序,您有多种选择:

  1. 是这样的:Remove or close your own Activity window from a Status Bar Notification Intent根据您的需要进行修改。
  2. 探索:android:finishOnTaskLaunchandroid:excludeFromRecents以及如何制定逻辑来实现这种效果(已经做到了)

关于Android如何区分后台应用程序和后台 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7261127/

相关文章:

android - 如何使用软键盘强制 View 底部的按钮向上移动?

android -/dev/kvm 在 Mac OS 上找不到

android.support.v4.app.FragmentActivity 缺少操作栏

java - 尝试在 Android Studio 上启动我的第三个 Activity 时被重定向到初始 Activity

Android libgdx 使用手势监听器左右滑动检测

java - 什么是 android logcat 中的致命信号 6

android - TextureView onSurfaceTextureAvailable 从未调用过

android - 如何在 Activity 之间传递数据库对象 (Android)

java - Google FireStore 支持的自定义对象有限制吗?

android - 如何在 android web View 中用另一个浏览器替换默认的 webkit 浏览器?