package com; import android.app.Activity; import android.app.Application; import android.os.Bundle; import android.support.v7.app.AppCompatDelegate; import com.app.annotation.aspect.TimeLog; import com.base.util.SpUtil; import java.util.Stack; import io.realm.Realm; /** * Created by baixiaokang on 16/4/23. */ public class App extends Application { private static App mApp; public Stack<Activity> store; @TimeLog public void onCreate() { super.onCreate(); mApp = this; Realm.init(this); SpUtil.init(this); AppCompatDelegate.setDefaultNightMode(SpUtil.isNight() ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO); store = new Stack<>(); registerActivityLifecycleCallbacks(new SwitchBackgroundCallbacks()); } public static App getAppContext() { return mApp; } private class SwitchBackgroundCallbacks implements Application.ActivityLifecycleCallbacks { @Override public void onActivityCreated(Activity activity, Bundle bundle) { store.add(activity); } @Override public void onActivityStarted(Activity activity) { } @Override public void onActivityResumed(Activity activity) { } @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) { store.remove(activity); } } /** * 获取当前的Activity * * @return */ public Activity getCurActivity() { return store.lastElement(); } }