美文网首页
Android应用前后台切换的判断

Android应用前后台切换的判断

作者: jacky123 | 来源:发表于2016-06-15 11:08 被阅读1754次

    前言

    在API 14之后,在Application类中,提供了一个应用生命周期回调的注册方法,用来对应用的生命周期进行集中管理,这个接口叫registerActivityLifecycleCallbacks。可以通过它注册自己的ActivityLifeCycleCallback,每一个Activity的生命周期都会回调到这里的对应方法。

    实现1

    参考:Android应用前后台切换的判断

    public class MyApplication extends Application{
        public int count = 0;
        @Override
        public void onCreate() {
            super.onCreate();
    
            registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
    
                @Override
                public void onActivityStopped(Activity activity) {
                    Log.v("viclee", activity + "onActivityStopped");
                    count--;
                    if (count == 0) {
                        Log.v("viclee", ">>>>>>>>>>>>>>>>>>>切到后台  lifecycle");
                    }
                }
    
                @Override
                public void onActivityStarted(Activity activity) {
                    Log.v("viclee", activity + "onActivityStarted");
                    if (count == 0) {
                        Log.v("viclee", ">>>>>>>>>>>>>>>>>>>切到前台  lifecycle");
                    }
                    count++;
                }
    
                @Override
                public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
                    Log.v("viclee", activity + "onActivitySaveInstanceState");
                }
    
                @Override
                public void onActivityResumed(Activity activity) {
                    Log.v("viclee", activity + "onActivityResumed");
                }
    
                @Override
                public void onActivityPaused(Activity activity) {
                    Log.v("viclee", activity + "onActivityPaused");
                }
    
                @Override
                public void onActivityDestroyed(Activity activity) {
                    Log.v("viclee", activity + "onActivityDestroyed");
                }
    
                @Override
                public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                    Log.v("viclee", activity + "onActivityCreated");
                }
            });
        }
    }
    

    实现2-ActivityManager

    ActivityManager

    相关文章

      网友评论

          本文标题:Android应用前后台切换的判断

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