2016-08-29 5 views
1

私はアクティビティについて知っています。あなたはonStopメソッドでonStartをオーバーライドして、アクティビティの開始/終了を知ることができます。私が実行している問題は、ユーザーがバックグラウンド/ユーザー出口に入り、onStop(終了セッション用)と結びつくまで、セッションを開いたままにして、各アクティビティが結果を与えないようにすることです。新しい活動があるたびにセッションを終了します。だから私は、ユーザーがいつバックグラウンドでアプリを起動するか終了するかを知るための私の選択肢が何であるか疑問に思っていた。Android - アプリがバックグラウンド/ユーザー終了になると全世界を知る

私が考えていたことの1つは、アプリケーションが終了する前にonStartを持たずにonStopを持っているかどうかを知るために、onStartとonStop(またはアクティビティライフサイクルの任意の2つの組み合わせ)を追跡することでした。これは非常にハッキーのように見えます。

ありがとうございます。

+1

は、自分のステータスを管理するためのアプリケーションクラスを使用してください。 –

答えて

1

Applicationクラスを拡張し、registerActivityLifecycleCallbacksを使用してロジックを構築することができます。例えば、これらの2つのコールバックの使用

@Override 
public void onActivityResumed(Activity activity) { 
    mBackground = false; 
} 

@Override 
public void onActivityPaused(Activity activity) { 
    mBackground = true; 
} 

https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)

+0

これは私にとってはうまくいったので、onStartメソッドとonStopメソッドを上書きする必要があったので、いくつのアクティビティがあるかを把握することができます。 – user2812463

関連する問題