有些安全性要求高的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) {
// 进入后台
}
}