zoukankan      html  css  js  c++  java
  • Android开发检测App从后台进入前台的解决方法

    public class ActLifecycle implements ActivityLifecycleCallbacks {
    
      private int mPreActivityStartedCount = 0;
      private int mActivityStartedCount = 0;
      private int mActivityOrientation = Configuration.ORIENTATION_UNDEFINED;
    
      @Override
      public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
      }
    
      @Override
      public void onActivityStarted(Activity activity) {
        mPreActivityStartedCount = mActivityStartedCount;
        mActivityStartedCount++;
        int orientation = getOrientation(activity);
        if (mPreActivityStartedCount == 0 && mActivityStartedCount == 1
            && orientation == mActivityOrientation) {
          handleAppForeground(activity);//app从后台进入前台了,在这个自定义的方法里处理具体的业务
        }
        mActivityOrientation = orientation;
      }
    
      private int getOrientation(Activity activity) {
        if (activity != null && activity.getResources() != null) {
          Configuration configuration = activity.getResources().getConfiguration();
          if (configuration != null) {
            return configuration.orientation;
          }
        }
        return Configuration.ORIENTATION_UNDEFINED;
      }
    
      @Override
      public void onActivityResumed(Activity activity) {
      }
    
      @Override
      public void onActivityPaused(Activity activity) {
      }
    
      @Override
      public void onActivityStopped(Activity activity) {
        mPreActivityStartedCount = mActivityStartedCount;
        mActivityStartedCount--;
      }
    
      @Override
      public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
      }
    
      @Override
      public void onActivityDestroyed(Activity activity) {
      }
    }

    //注册app生命周期回调函数
    application.registerActivityLifecycleCallbacks(new ActLifecycle());
     
  • 相关阅读:
    mybatis文件映射之select操作返回List集合
    mybatis文件映射之使用#取值时的一些规则
    mybatis文件映射之获取参数值时#和$的区别
    Java之对象池
    Java多线程设计模式(6)两阶段终止模式
    Future和FutureTask
    Java多线程设计模式(3)读写锁模式
    Java中的对象池模式
    创建资源池(对象池)
    Java多线程设计模式之线程池模式
  • 原文地址:https://www.cnblogs.com/yongfengnice/p/10986310.html
Copyright © 2011-2022 走看看