バックグラウンドからフォアグラウンドへのAndroidアプリの開発検出ソリューション

パブリック クラス ActLifecycleは実装ActivityLifecycleCallbacks { 

  プライベート int型 mPreActivityStartedCount = 0をプライベート int型 mActivityStartedCount = 0 ;
  プライベート int型mActivityOrientation = Configuration.ORIENTATION_UNDEFINED。

  @Override 
  公共 ボイドonActivityCreated(アクティビティ活性、バンドルsavedInstanceState){ 
  } 

  @Override 
  公共 ボイドonActivityStarted(アクティビティ活性){ 
    mPreActivityStartedCount = mActivityStartedCount。
    mActivityStartedCount ++;
     のIntオリエンテーション= getOrientation(活性);
     IF(mPreActivityStartedCount == == 0 && mActivityStartedCount 1つの。
        &&オリエンテーション== mActivityOrientation){ 
      handleAppForeground(活性); //アプリ前景、特にこのカスタムの処理方法に背景からビジネス
    } 
    mActivityOrientation = オリエンテーション; 
  } 

  プライベート INT getOrientation(アクティビティ活性){
     IF(活動!= NULL && activity.getResources()!= NULL ){ 
      設定設定 = activity.getResources()getConfiguration();.
       IF(構成!= NULL ){
         戻りconfiguration.orientation。
      } 
    } 
    戻りConfiguration.ORIENTATION_UNDEFINED。
  } 

  @Override 
  公共 ボイドonActivityResumed(アクティビティ活性){ 
  } 

  @Override 
  公共 ボイドonActivityPaused(アクティビティ活性){ 
  } 

  @Override 
  公共 ボイドonActivityStopped(アクティビティ活性){ 
    mPreActivityStartedCount = mActivityStartedCount。
    mActivityStartedCount - ; 
  } 

  @Override 
  公衆 ボイドonActivitySaveInstanceState(活動活動、バンドルoutState){ 
  } 

  @Override 
  公共 ボイドはonActivityDestroyed(アクティビティ活性){ 
  } 
} 

//アプリケーション・ライフサイクル・コールバックを登録
application.registerActivityLifecycleCallbacks(新しいActLifecycle());
 

 

おすすめ

転載: www.cnblogs.com/yongfengnice/p/10986310.html
おすすめ