android实现登录发送短信验证码或者语音验证码以及一个倒计时的内部类

来源:互联网 发布:湖南大学软件学院 编辑:程序博客网 时间:2024/05/17 01:25
//获取验证码private void requestForGetCode() {    String mobile = etPhoneNumber.getText().toString().trim();    MGRequestParams params = new MGRequestParams();    params.put("source", "login");    params.put("retry", mRetry);    NetClient.getSmsCode(mContext, mobile, params, new MGResponseListener() {        @Override        public void onResponse(MGNetworkRequest mgNetworkRequest, MGNetworkResponse response) {            RspAppInitModel sms_result = response.getModel(RspAppInitModel.class);            if (sms_result == null) {                if (timeCount != null) {                    timeCount.cancel();                    timeCount.onFinish();                    changeGetCodeBtnStatus(true);                }                return;            }            if (sms_result.getStatus() == ErrorCode.Code_Success) {                mRetry++;                MGToastUtil.show(R.string.send_checkcode_success);            } else {                MGToastUtil.show(sms_result.getMsg());            }        }    });

}

//获取语音验证码private void requestForVoiceCode() {    String mobile = etPhoneNumber.getText().toString().trim();    MGRequestParams params = new MGRequestParams();    params.put("source", "login");    params.put("retry", mRetryVoice);    NetClient.getVoiceCode(mContext, mobile, params, new MGResponseListener() {        @Override        public void onResponse(MGNetworkRequest mgNetworkRequest, MGNetworkResponse response) {            BaseRsp voice_result = response.getModel(BaseRsp.class);            if (voice_result == null) {                if (timeCount != null) {                    timeCount.cancel();                    timeCount.onFinish();                }                return;            }            if (voice_result.getStatus() == ErrorCode.Code_Success) {                mRetryVoice++;                MGToastUtil.show(R.string.send_voice_code_success);            } else {                MGToastUtil.show(voice_result.getMsg());            }        }    });}
/** * 定义一个倒计时的内部类 */private boolean is_ticking = false;class TimeCount extends CountDownTimer {    public TimeCount(long millisInFuture, long countDownInterval) {        super(millisInFuture, countDownInterval);//参数依次为总时长,和计时的时间间隔    }    //计时过程显示    @Override    public void onTick(long millisUntilFinished) {        btnGetCode.setClickable(false);        btnGetCode.setText(millisUntilFinished / 1000 + "秒");        is_ticking = true;    }    @Override    public void onFinish() {        if (btnGetCode != null) {            changeGetCodeBtnStatus(true);            btnGetCode.setClickable(true);            btnGetCode.setText("获取验证码");        }        is_ticking = false;    }}

1 0
原创粉丝点击