美文网首页
Android 开发之ActivityLifecycleCall

Android 开发之ActivityLifecycleCall

作者: wind_sky | 来源:发表于2019-07-29 11:03 被阅读0次

    一. 简介

    ActivityLifecycleCallbacks是Application里的一个接口,在Android4.0(API level 14)中新加。用于监听应用中所有Activity的生命周期的调用情况,callback中的方法会在Activity回调方法之前调用,可以通过实现这个接口来完成一些特殊需求,比如检测APP是否处于前台。

    二. 使用

    以检测APP是否处于前台为例介绍使用。

    1. 实现ActivityLifecycleCallbacks接口

    public class ActivityLifecycleCallbackWrapper implements Application.ActivityLifecycleCallbacks {
        private static final String TAG = "LifecycleCallback";
        private int count; 
        private boolean isForeground; 
    
        public boolean isForeground() {
            return isForeground; 
        }
    
        @Override 
        public void onActivityCreated(Activity activity, Bundle bundle) {
            //to do 
        }
    
        @Override 
        public void onActivityStarted(Activity activity) { 
            count ++; 
        }
    
        @Override 
        public void onActivityResumed(Activity activity) {
            //to do 
        }
    
        @Override 
        public void onActivityPaused(Activity activity) {
            //to do 
        }
    
        @Override 
        public void onActivityStopped(Activity activity) { 
            count --; 
            if(count == 0) {
                isForeground = true; 
            }
        }
    
        @Override 
        public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
            //to do 
        }
    
        @Override 
        public void onActivityDestroyed(Activity activity) {
            //to do 
        }
    }
    

    2. 创建自定义Application,并在Application中注册callback。

    public class MyApplication extends Application {
        ActivityLifecycleCallbacks callbacks; 
    
        @Override 
        public void onCreate() {
            super.onCreate(); 
            callbacks = new ActivityLifecycleCallbackWrapper();
    
            registerActivityLifecycleCallbacks(callbacks);  // 注册Callback
        }
    }
    

    相关文章

      网友评论

          本文标题:Android 开发之ActivityLifecycleCall

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