1

Activityユーザーがアプリケーションで 5 分間アクティブでなかった場合、ユーザーがどのアクティビティからアプリケーションを離れたかを考慮せずに、ログインを開始する必要があります。(5分間アクティブでないということは、ユーザーがサーバー側に何もコミットしなかったことを意味します)

クラスDate内に変数があります:Application

private Date timeOfLogin;

これは、ユーザーがログインをコミットしたときに保存されます。使用のある時点で、ユーザーは電話やメールを受け取ることができ、アプリケーションを離れます。これは、アプリケーションのどの画面でも発生する可能性があります。そして、彼がアプリケーションを再びオンにするか、電話を終えた後にアプリケーションに戻ると、5 分以上経過した場合は最後のアクティビティではなく、ログイン画面を再度表示する必要があります。

どうすればそれができますか?現在の日付との差が 5 分より大きい場合onResume、アプリケーション内のすべてのアクティビティをオーバーライドしてログインを開始する必要がありますか? またはそれを行うためのより良い方法はありますか?ActivitytimeOfLogin

どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

2

他のすべてのアクティビティを拡張するアクティビティを作成し、そのアクティビティの onResume にロジックを配置します。(おそらく、この方法は他の多くの点でも役立つでしょう)

于 2013-03-27T14:47:12.960 に答える
1

ダイアログの表示CountDownTimerで、ResponseHandler クラスに 5 分のカウントダウンを作成します。応答がある場合は、タイマーをキャンセルして、もう一度開始します。onFinish()login

于 2013-03-27T15:56:11.527 に答える