zoukankan      html  css  js  c++  java
  • android: 利用ProcessLifecycleOwner处理Android应用程序前后台切换

    之前处理android应用的前后台切换使用的是onStart()/onStop()方法,还需要做一些额外的处理,今天发现使用 ProcessLifecycleOwner 更简单。

    public class AudioConvertApplication extends Application {
    
        @Override
        public void onCreate() {
            super.onCreate();
            ProcessLifecycleOwner.get().getLifecycle().addObserver(new ApplicationObserver());
        }
    
        private static class ApplicationObserver implements LifecycleObserver {
    
            @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
            private void onAppBackground() {
                Log.w(TAG, "[LifecycleChecker]: app moved to background");
            }
    
            @OnLifecycleEvent(Lifecycle.Event.ON_START)
            private void onAppForeground() {
                Log.w(TAG, "[LifecycleChecker]: app moved to foreground");
            }
    
        }
    
    }

    在 onAppBackground() 方法中处理app压入到后台时的逻辑,在 onAppForeground() 方法中处理app重新显示到前台的逻辑。

    PS:上面的方法名随便起的,重要的是两个方法名上面的注解,

    ProcessLifecycleOwner.get().getLifecycle().addObserver(new ApplicationObserver());

    不管是在Application还是在Activity中调用都是可以的,我是写在了Application里。

  • 相关阅读:
    javascript进阶一
    javascript基础
    前端开发工程师——网易云课堂
    win10,软件, 发布者不受信任怎么办
    oracle10g如何配置客户端
    ASPxGridView中DetailRow的使用
    vb中&和+的区别
    nvl
    substr
    ORA-01791: 不是 SELECTed 表达式
  • 原文地址:https://www.cnblogs.com/yongdaimi/p/13671523.html
Copyright © 2011-2022 走看看