Java Android倒数计时器在完成时无法在Android 8上工作
我在一个活动中使用倒计时来保持2分钟的OTP验证检查,问题是onFinish代码在Android 9和8设备上不起作用。应用程序没有崩溃,但没有错误。它在安卓10设备上运行良好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) {
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();
}