Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android倒数计时器在完成时无法在Android 8上工作_Java_Android_Android Studio_Countdowntimer - Fatal编程技术网

Java Android倒数计时器在完成时无法在Android 8上工作

Java Android倒数计时器在完成时无法在Android 8上工作,java,android,android-studio,countdowntimer,Java,Android,Android Studio,Countdowntimer,我在一个活动中使用倒计时来保持2分钟的OTP验证检查,问题是onFinish代码在Android 9和8设备上不起作用。应用程序没有崩溃,但没有错误。它在安卓10设备上运行良好 private void startTimer(int noOfMinutes) { countDownTimer = new CountDownTimer(noOfMinutes, 1000) { public void onTick(long millisUntilFinished) {

我在一个活动中使用倒计时来保持2分钟的OTP验证检查,问题是onFinish代码在Android 9和8设备上不起作用。应用程序没有崩溃,但没有错误。它在安卓10设备上运行良好

private void startTimer(int noOfMinutes) {
    countDownTimer = new CountDownTimer(noOfMinutes, 1000) {
        public void onTick(long millisUntilFinished) {
            isCountDownRunning = true;

            // Convert milliseconds into hour,minute and seconds
            String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
            System.out.println("Long seconds= " + hms);
            textViewOTP.setText("OTP will expire in: " + hms); //set text
        }

        public void onFinish() {
            isCountDownRunning = false;

            actionBar.setDisplayHomeAsUpEnabled(true);
            countDownTimer = null; //set CountDownTimer to null

            textViewOTP.setText("OTP has expired"); //set text

            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    //   WaveLoader.setVisibility(View.GONE);

                    Intent i = new Intent(Patient_OTP_Verification.this, Patient_Mobile_Registration.class);
                    startActivity(i);
                    finish();
                }
            }, 1000);

        }
    }.start();
}