在自定义的application的oncreate里面注册ActivityLifecycleCallbacks回调
private int foregroundActivityCount = 0;
private int onCreateActivityCount = 0;
private void registActivityLifeCycleListener() {
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
onCreateActivityCount++;
}
@Override
public void onActivityStarted(Activity activity) {
foregroundActivityCount++;
}
@Override
public void onActivityResumed(Activity activity) {
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
foregroundActivityCount--;
if (foregroundActivityCount == 0 && onCreateActivityCount == 1) {
ToastUtil.toast("进入后台运行");
}
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
onCreateActivityCount--;
}
});
}