private CountDownTimer mCountDownTimer;
private void requestSendSms() {
if (mCountDownTimer != null) {
return;
} else {
mCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
tv_verification_code.setText((millisUntilFinished / 1001) + " s");
tv_verification_code.setTextColor(Color.parseColor("#B5B5B5"));
}
@Override
public void onFinish() {
mCountDownTimer = null;
tv_verification_code.setText("重新获取验证码");
tv_verification_code.setTextColor(Color.parseColor("#1E90FF"));
}
};
}
mCountDownTimer.start();}
调用
/*
* 获取验证码
* */
tv_verification_code.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*
* 请求接口获取验证码
* */
requestSendSms();
PostRequest(edt_phone_number.getText().toString());
}
});
另外一种就是检测网络的倒计时
private CountDownTimer mCountDownTimer;
private void RequestServer() {
if (mCountDownTimer != null) {
return;
} else {
mCountDownTimer = new CountDownTimer(15 * 1000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
int temp = (int) (millisUntilFinished / 1001);
int tmp=15;
if(tmp!=temp & temp%1==0){//判断有没有结束,判断是不是整数
tmp = temp;
Message message = new Message();
message.what = 2;
handler.sendMessage(message);
}
}
@Override
public void onFinish() {
mCountDownTimer = null;
}
};
}
mCountDownTimer.start();}
关闭定时器
mCountDownTimer.cancel();