在Application总注册 registerActivityLifecycleCallbacks()方法,此方法可以监听到每个Activity的生命周期。
通过判断本次Activity与上次Activity是否是同一个,如果是则表明应用从前台切换到后台,如果不同则说明是正常的页面切换。
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
if (lastActivity == null) {//启动App后 进入的第一个页面
lastActivity = activity.toString();
} else {
if ( lastActivity.equals(activity.toString())) {
Toast. makeText(getApplicationContext(), "回到App", Toast. LENGTH_SHORT).show();
} else {
Toast. makeText(getApplicationContext(), "切换页面", Toast. LENGTH_SHORT).show();
}
lastActivity = activity.toString();
}
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});