应用前后台切换的回调方法实现

有些安全性要求高的App,比如支付宝和手机银行之类的,当用户从应用切到桌面或者别的应用,然后再切回来的时候,需要锁定应用让用户验证一下才能再次进入。这个时候就需要知道自己的应用什么时候进去后台了,什么时候进入前台了,Android本身并没这样的回调方法,需要自己来实现。

其中一个解决方案就是应用的所有Activity都继承于自定义的BaseActivity(FragmentActivity也继承与自定义的BaseFragmentActivity),然后在BaseActivity的onPause和onResume中进行Activity的计数,每onResume一次计数器+1,每onPause一次计数器-1,如果计数器等于1表示进去前台,如果计数器等于0表示进入后台。

实现代码:

public void onStart() {

      startedActivityCount++;

      if (1 == startedActivityCount) {

             //进入前台

      }

}

public void onStop() {

      startedActivityCount--;

      if (0 == startedActivityCount) {

              // 进入后台

      }

}

原文地址:https://www.cnblogs.com/mosthink/p/5289023.html