Android 判断APP是否在前台

package com.inks.ink.UI;

import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import android.util.Log;

import com.inks.inkslibrary.utils.L;
import com.uuzuche.lib_zxing.activity.ZXingLibrary;

/**
 * Created by Administrator on 2018/6/19 0019.
 */

public class MainApplication extends Application {
    int mCount;
    @Override
    public void onCreate() {
        super.onCreate();
        ZXingLibrary.initDisplayOpinion(this);

        mCount = 0;
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {

            }

            @Override
            public void onActivityStarted(Activity activity) {
                mCount++;
                //如果mCount==1,说明是从后台到前台
                if (mCount == 1){
                    //执行app跳转到前台的逻辑
                    L.e("从后台到前台");
                }
            }

            @Override
            public void onActivityResumed(Activity activity) {
            }

            @Override
            public void onActivityPaused(Activity activity) {

            }

            @Override
            public void onActivityStopped(Activity activity) {
                mCount--;
                //如果mCount==0,说明是前台到后台
                if (mCount == 0){
                    //执行应用切换到后台的逻辑
                    L.e("从前台到后台");

                }
            }

            @Override
            public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

            }

            @Override
            public void onActivityDestroyed(Activity activity) {

            }
        });
    }

    @Override
    public void onLowMemory() {
        super.onLowMemory();
        System.gc();
        Log.e("onLowMemory","onLowMemory");
    }

    @Override
    public void onTerminate() {
        super.onTerminate();
        Log.e("onTerminate","onTerminate");
    }

    @Override
    public void onTrimMemory(int level) {
        super.onTrimMemory(level);
        Log.e("onTrimMemory","onTrimMemory");
    }
}

猜你喜欢

转载自blog.csdn.net/ink_s/article/details/80733561