监听app后台切换到前台

作者: 口子窖 | 来源:发表于2018-06-11 01:14 被阅读33次

App后台切换前台可以通过ActivityLifecycleCallbacks方法来实现,ActivityLifecycleCallbacks可以用来监听app中所有Activity的声明周期

   public void unRegister(Application application){
        application.unregisterActivityLifecycleCallbacks(activityLifecycleCallbacks);
    }

    private Application.ActivityLifecycleCallbacks activityLifecycleCallbacks = new Application.ActivityLifecycleCallbacks() {
        //打开的Activity数量统计
        private int activityStartCount = 0;
        
        @Override
        public void onActivityStarted(Activity activity) {
            activityStartCount++;
            //数值从0变到1说明是从后台切到前台
            if (activityStartCount == 1){
                //从后台切到前台
                if(mOnAppStatusListener != null){
                    mOnAppStatusListener.onFront();
                }
            }
        }

        @Override
        public void onActivityStopped(Activity activity) {
            activityStartCount--;
            //数值从1到0说明是从前台切到后台
            if (activityStartCount == 0){
                //从前台切到后台
                if(mOnAppStatusListener != null){
                    mOnAppStatusListener.onBack();
                }
            }
        }
        
    };

相关文章

网友评论

    本文标题:监听app后台切换到前台

    本文链接:https://www.haomeiwen.com/subject/usabsftx.html