public class Common extends Application { 判断是否在后台的方法 private boolean isBackground = true;
@Override public void onCreate() { super.onCreate(); //在Application中初始化 RxUtils.init(this); mAppContext = getApplicationContext(); x.Ext.init(this); x.Ext.setDebug(false); //输出debug日志,开启会影响性能 NFCUtils.init(this); registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() { @Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) { } @Override public void onActivityStarted(Activity activity) { } 这个是回到前台的判断方法 @Override public void onActivityResumed(Activity activity) { if (isBackground) { isBackground = false; notifyForeground(); } } @Override public void onActivityPaused(Activity activity) { } @Override public void onActivityStopped(Activity activity) { } @Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) { } @Override public void onActivityDestroyed(Activity activity) { } });
private void notifyForeground() { System.out.println("切换回前台运行了,还被我知道了"); }
这个是回到后台的方法
@Override public void onTrimMemory(int level) { super.onTrimMemory(level); if (level == TRIM_MEMORY_UI_HIDDEN) { isBackground = true; notifyBackground(); } }
private void notifyBackground() { System.out.println("切换到后台运行了,还被我知道了"); Log.i("切换","切换到后台运行了,还被我知道了"); }