在定义的时间段后关闭活动

时间:2019-04-01 10:25:47

标签: java android android-activity time android-timer

我想开始一项活动,并将开始时间存储在一个变量中,假设是会话变量,并每秒检查30分钟。经过30分钟后,活动将关闭。

4 个答案:

答案 0 :(得分:1)

您可以使用CountDownTimer

 new CountDownTimer(30000, 1000) { //time in miliseconds

 public void onTick(long millisUntilFinished) {
     view.setText("seconds remaining: " + millisUntilFinished / 1000);
 }

 public void onFinish() {
     mTextField.setText("here close your activity");
 }
}.start();

该声明中未提及,但是如果它在后台运行,您可能需要考虑如何处理它。

答案 1 :(得分:1)

您可以为此创建Handler:

    handler = new Handler();
    runnable = new Runnable() {
        @Override
        public void run() {
            finish();
        }
    };
    int MINUTES = 30;
    handler.postDelayed(runnable, 1000 * 60 * MINUTES);

如果要删除Runnable的回调。

@Override
protected void onDestroy() {
    super.onDestroy();
    if (handler != null) {
        handler.removeCallbacks(runnable);
    }
}

希望对您有帮助。

答案 2 :(得分:0)

您可以使用以下内容:

int finishTime = 30000; 
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    public void run() {
        YourActivity.this.finish();
    }
}, finishTime * 1000);

答案 3 :(得分:0)

使用以下代码:

function hideActivity(){
  new Handler().postDelayed(new Runnable(){
   public void run(){
    this.finish();
   }
  }, TIME_TAKEN_TO_BE_HIDDEN);
}