5

ユーザーの非アクティブのために15分後に自動ログアウトするためにアンドロイドでタイマーを使用する方法は?

私はloginActivity.javaでこれに以下のコードを使用しています

public class BackgroundProcessingService extends Service {

        @Override
        public IBinder onBind(Intent intent) {
            // TODO Auto-generated method stub
         timer = new CountDownTimer(5 *60 * 1000, 1000) {

                public void onTick(long millisUntilFinished) {
                   //Some code
                    //inactivity = true;
                    timer.start();
                    Log.v("Timer::", "Started");
                }

                public void onFinish() {
                   //Logout
                    Intent intent = new Intent(LoginActivity.this,HomePageActivity.class);
                    startActivity(intent);
                    //inactivity = false;
                    timer.cancel();
                    Log.v("Timer::", "Stoped");
                }
             };
            return null;
        }

    }

ログインボタンのonclickは、サービスの意図を呼び出しました。

Intent intent1 = new Intent(getApplicationContext(),
                        AddEditDeleteActivity.class);
                startService(intent1);

ご意見をお聞かせください......

このタイプのエラー メッセージは 15 分後に表示されます

このタイプのエラー メッセージは 15 分後に表示されます

4

7 に答える 7

10

CountDownTimer を使用する

CountDownTimer timer = new CountDownTimer(15 *60 * 1000, 1000) {

        public void onTick(long millisUntilFinished) {
           //Some code
        }

        public void onFinish() {
           //Logout
        }
     };

ユーザーがアクションの使用を停止したtimer.start()とき、およびユーザーがアクションを実行したときtimer.cancel()

于 2012-11-06T05:32:09.253 に答える
1

サービスを開始し、その中でタイマーを開始できます。inactivity15 分ごとに、フラグが true に設定されているとしましょう。その場合は、アプリからログアウトしてください。

ユーザーがアプリを操作するたびに、inactivityフラグを false に設定します。

于 2012-11-06T05:33:39.033 に答える