2017-10-02 2 views
1

を呼び出された理由を判別しユーザーがアプリケーションを自分でバックグラウンドに移動した場合(ホームボタンを押した場合など)は、別の操作を行います。画面が起因するデバイスとユーザーの活動の不足のために独自にオフにされたので、私は、私は、アプリケーションが一時停止した場合、特定のアクションを作成する必要のあるアプリケーションを作成していonPauseが

なぜと呼ばれていた知る方法はありますか?またはを使用しない他の方法ですか?

+0

[アクティビティライフサイクル](https://developer.android.com/guide/components/activities/activity-lifecycle.html) –

+0

@AlLelopathをよく理解している必要があります。ライフサイクルそのもの –

+0

これはアクティビティのライフサイクルではありません!だからあなたが必要とするのはステートマシンです。 3つの状態のように宣言する必要があり、onPauseでは、適切なコールバックを処理することによってどの状態が呼び出されたかを確認する必要があります。 – matrix

答えて

0

あなたが前onPause(onUserInteraction、onUserLeaveHint)へのユーザーインタラクションがあったかどうかを確認するためにフックすることができ、いくつかの方法があります。

Hereはあまり知られてライフサイクル・メソッドの一部で良い図です。

+0

そして、どちらが私に一時停止呼び出しの理由を教えてくれるでしょうか?コード例を書くことができますか? –

+0

onUserLeaveHint() - この https://developer.android.com/reference/android/app/Activity.html#onUserLeaveHint() ドキュメントは、あなたがたときにそこにイベントをキャプチャできることを示しているためとonUserInteractionは()を使用することができますこのメソッドの後にonPauseが呼び出されたかどうかを確認することができます。 '' 'たとえば、ユーザがHomeキーを押すと、onUserLeaveHint()が呼び出されますが、着信時にコール中のアクティビティが自動的にフォアグラウンドにされると、onUserLeaveHint()は呼び出されませんここで必要いただきましonUserLeaveHintがあるよう – abs

+0

interrupted.'''ている活動に思えます –

関連する問題

 関連する問題