1

画面があり、ユーザーがそこに行って何もしない場合、画面は 15 秒後に閉じますが、ユーザーが何かを入力し始めると、画面が閉じる前に待機時間を増やす必要があります。

private static long V_Time = 1000 * 15;
Handler handlerUI = new Handler();
.
.
.
handlerUI.postDelayed(new Runnable() {
    @Override
    public void run() {
       finish();
    }
}, V_Time);

私のこのコードは、ユーザーがまだ何かを入力しようとしている場合でも、15 秒後に画面を閉じます。助言がありますか ?

4

2 に答える 2

0

このサンプルを使用して、ユーザーが画面に触れるたびにタイマーをリセットします

Timer timer = new Timer();
long delay = 1000 * 15;

protected void onTouch() {
        try {

            if (timer != null)
            {
                timer.cancel();
                timer.purge();
            }

            timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {

                    ActDocumentDetails.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {

                            finishActivity();
                        }
                    });
                }

            }, delay );

        } catch (Exception e) {

        }

    }
于 2013-05-15T08:36:37.687 に答える