Application全局获取Activity的Home状态

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("切换","切换到后台运行了,还被我知道了");
}

转载于:https://my.oschina.net/u/3669210/blog/1529494

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值