您能检测到Android应用程序何时进入后台吗?

5
可能会有重复:
如何检测Android应用程序何时进入后台并返回前台 一个Android应用程序可以拥有许多活动。我不想知道任何旧活动何时进入后台,而是想知道应用程序中的任何活动何时进入后台,并且在应用程序中的任何活动何时进入前台。
我是否必须为每个活动处理onpause/onresume?有没有更简单的方法来做到这一点?
3个回答

6

如果我有13个活动,我不想为每一个处理onPause和onResume..是否有一个应用程序范围的等效方法? - Mr. Awesome
1
你可以创建一个BaseActivity并从中派生出所有的活动。这样,您只需要实现一次处理即可。然而,如果您正在使用不同的Activity子类,则可能无法使用此方法。 - henrik
好的,我想克里斯·康威在下面的回答(与亨利克所说的相同)可能是你最好的选择。 - Mohamed_AbdAllah
我想我必须残酷地挨个活动地奋斗,并覆盖onpause和onresume。感谢各位的帮助。 - Mr. Awesome
为什么不试一下Chris的答案呢?他建议创建一个主活动(主onPause和onResume),让所有活动都从此继承。 - Mohamed_AbdAllah

1
通过继承解决您的问题。为了避免覆盖所有活动的生命周期方法,请仅在父类中覆盖它。
public class ParentActivity extends Activity{
    public void onPause(){
      super.onPause();
      // do something
    }

    public void onResume(){
      super.onPause();
      // do something
    }  
}


public class ChildActivity extends ParentActivity{

   // onResume and onPause will be called automatically

}

希望有所帮助!

1

如果您对Android的生命周期不熟悉,那么建议您浏览一下记事本教程。特别是活动生命周期练习3详细介绍了它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接