有没有办法在后台为应用程序获取不同的事件,以及在后台进行特定的活动?
换句话说,当任何活动转到后台调用onPause()方法时,有没有发现整个应用程序都转到了后台?
当应用程序转到后台时,清单文件是否有关闭应用程序的设置。
谢谢,
AndroidIT
发布于 2012-04-11 02:50:20
用于标识应用程序是否在后台的:
有一种更简单的方法:
在所有活动都可扩展的BaseActivity上:
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时终止它,你有几个选择:
发布于 2011-09-01 02:21:07
我假设你的所有活动都是由你的应用程序中的其他活动启动的。如果是这样的话,也许你的活动可以设置一个标志,表明它正在启动一个活动。然后,当调用onpause()时,此标志将确定应用程序是移动到后台还是只是启动下一个活动。
发布于 2011-09-01 02:27:03
将每个活动的状态保存在共享首选项中。每个活动都需要在首选项文件中有自己的字段。每次onResume或onPause时,请更新正确的首选项。
或者:每次您通过onResume或onPause向服务发送X活动已暂停/恢复的通知。该服务将以这种方式跟踪应用程序状态
https://stackoverflow.com/questions/7261127
复制相似问题