有没有办法为后台应用程序和后台特定 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
如果您想在进入后台时终止您的应用程序,您有多种选择:
- 是这样的:Remove or close your own Activity window from a Status Bar Notification Intent根据您的需要进行修改。
- 探索:android:finishOnTaskLaunch和 android:excludeFromRecents以及如何制定逻辑来实现这种效果(已经做到了)
关于Android如何区分后台应用程序和后台 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7261127/