美文网首页
Android对app在前台后台的监控

Android对app在前台后台的监控

作者: 风雪守候 | 来源:发表于2018-02-23 17:08 被阅读417次

    app在前台还是后台的判断有很多种,如:
    1.在BaseActivity中对Activity的进行保存管理,可以通过根据当前的所有Activity的状态来判断应用是否是在前台显示。
    2.在application中注册registerActivityLifecycleCallbacks()的回调,通过回调来判断是否在前台

    public class MyApp extends Application {
        private static final String TAG = "TEST_APP";
        private static int mActivityCount;
    
        @Override
        public void onCreate() {
            super.onCreate();
            registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
                @Override
                public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                }
    
                @Override
                public void onActivityStarted(Activity activity) {
                    mActivityCount++;
                    if(mActivityCount == 1) {
                        Log.e(TAG, "后台->前台");
                    }
                }
    
                @Override
                public void onActivityResumed(Activity activity) {
                }
    
                @Override
                public void onActivityPaused(Activity activity) {
                }
    
                @Override
                public void onActivityStopped(Activity activity) {
                    mActivityCount--;
                    if(mActivityCount == 0) {
                        Log.e(TAG, "前台->后台");
                    }
                }
    
                @Override
                public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
                }
    
                @Override
                public void onActivityDestroyed(Activity activity) {
                }
            });
        }
    }
    
    

    3.通过获取系统ActivityManager来判断。
    4.其他方法

    相关文章

      网友评论

          本文标题:Android对app在前台后台的监控

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