在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) {
}
});