package com.hjx.personalcenter.activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v4.app.FragmentActivity; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; import com.hjx.personalcenter.R; import com.hjx.personalcenter.db.Content; import com.hjx.personalcenter.db.SaveParam; import com.hjx.personalcenter.http.HttpCode; import com.hjx.personalcenter.http.HttpManager; import com.hjx.personalcenter.util.AlertUtils; import com.hjx.personalcenter.util.GetDevicesUtil; import com.hjx.personalcenter.util.PhoneNumCheckUtils; import org.json.JSONObject; import java.util.TimerTask; /** * Created by h on 2017/8/9. */ public class ElectronicCardValidationActivity extends FragmentActivity implements View.OnClickListener { private Button btn_card_valiyanzhen,get_authcode; private EditText phonenumber,anth_6num;//;//密码 private TextView menu_title; private ImageView cancel; private int delayTime=60; private java.util.Timer Delaytimer; private String sourceStr ="android"; private String typeStr = "general"; String authcode = ""; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); JSONObject jsonObject; String status; switch (msg.what) { case HttpCode.AUTHCODE_SUCESS: jsonObject = (JSONObject) msg.obj; status = jsonObject.optString("status"); authcode = jsonObject.optString("jsessionid"); if (status.equals("100")) { AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送成功"); } break; case HttpCode.AUTHCODE_FAIL: AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送失败"); break; case 21: if(delayTime<=0){ if(Delaytimer!=null){ Delaytimer.cancel(); } get_authcode.setEnabled(true); get_authcode.setClickable(true); get_authcode.setText("获取验证码"); delayTime=60; }else{ get_authcode.setEnabled(false); get_authcode.setClickable(false); get_authcode.setText(delayTime + " s"); } break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_electroniccard_validation); SysApplication.getInstance().addActivity(this); initView(); initData(); initLister(); } private void initView() { btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen); get_authcode = (Button) findViewById(R.id.btn_authcode); anth_6num = (EditText) findViewById(R.id.et_authcode); phonenumber = (EditText) findViewById(R.id.et_phonenumber); menu_title = (TextView) findViewById(R.id.menu_title); cancel = (ImageView) findViewById(R.id.cancel); } private void initData() { if (Content.authcodeflag==1){ menu_title.setText("更换绑定"); btn_card_valiyanzhen.setText("确定"); }else if (Content.authcodeflag==2){ menu_title.setText("修改保卡信息"); btn_card_valiyanzhen.setText("确定"); }else { menu_title.setText("填写保卡信息"); btn_card_valiyanzhen.setText("下一步"); } } private void initLister() { get_authcode.setOnClickListener(this); btn_card_valiyanzhen.setOnClickListener(this); cancel.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_card_valiyanzhen: String usernameStr = phonenumber.getText().toString().trim(); String authcodeStr = anth_6num.getText().toString().trim(); if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)) { AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号,和验证码不能为空"); return; } else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号码输入错误"); }else if (!authcode.equals(authcodeStr)){ AlertUtils.showToast(ElectronicCardValidationActivity.this, "您输入的验证码不正确"); }else { String userID = SaveParam.getInstance().getLoginParam(this,"userId"); Long auserID = null; try { auserID = Long.parseLong(userID); } catch (NumberFormatException e) { e.printStackTrace(); } if (Content.authcodeflag==1){ //修改账户手机号 HttpManager.getInstance().changeaccountphone(this, auserID,usernameStr,authcodeStr); }else if (Content.authcodeflag==2){ //修改保卡手机号 String userID22 = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); HttpManager.getInstance().changecardinfophone(this, userID22,usernameStr,authcodeStr); }else { String phone =phonenumber.getText().toString().trim(); SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CARDPHONE, phone ); Intent intent = new Intent(); intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); startActivity(intent); overridePendingTransition(R.anim.rightin, R.anim.rightout); } // SaveParam.getInstance().saveLoginParam(this,SaveParam.CARDPHONE, phonenumber.getText().toString().trim()); // Intent intent = new Intent(); // intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); // startActivity(intent); // overridePendingTransition(R.anim.rightin, R.anim.rightout); } break; case R.id.btn_authcode: String usernameStr1 = phonenumber.getText().toString().trim(); if (!PhoneNumCheckUtils.isPhone(usernameStr1)){ AlertUtils.showToast(ElectronicCardValidationActivity.this, "请输入正确的手机号"); }else { anth_6num.requestFocus(); HttpManager.getInstance().authCode(typeStr, usernameStr1, handler, ElectronicCardValidationActivity.this); valiDelay(); } break; case R.id.cancel: finish(); break; } } // 线程类 定时器 public void valiDelay() { Delaytimer = new java.util.Timer(true); TimerTask task = new TimerTask() { public void run() { //每次需要执行的代码放到这里面。 delayTime--; handler.sendEmptyMessage(21); } }; Delaytimer.schedule(task, 1000,1000); } }