package com.jiuqi.njt.register; import com.jiuqi.mobile.nigo.comeclose.exception.LoginException; import com.jiuqi.mobile.nigo.comeclose.exception.NiGoException; import com.jiuqi.mobile.nigo.comeclose.manager.base.IRegistManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.RepairUtils; import com.jiuqi.njt.util.UIUtil; import android.app.Dialog; import android.content.Context; import android.os.AsyncTask; /** * 发送验证码异步类 * * @author joe * */ public class SendVerificationTask extends AsyncTask<Void, Void, String> { private Context context; private String mobileNumber; private Counter counter; private AllTaskInterface allTaskInterface; private MyApp application; private Dialog pd; /** * 发送验证码 * @param context * @param mobileNumber * 接收验证码的手机号 * @param counter * 发送验证码后,启动计数器 */ public SendVerificationTask(Context context, String mobileNumber, Counter counter,AllTaskInterface allTaskInterface) { super(); this.context = context; this.mobileNumber = mobileNumber; this.counter = counter; this.allTaskInterface = allTaskInterface; application = (MyApp) context.getApplicationContext(); } @Override protected void onPreExecute() { pd = RepairUtils.myShowDialog(context, 8); super.onPreExecute(); } @Override protected String doInBackground(Void... params) { ClientContext context; String result = ""; try { context = application.getClientContext(); if (null == context) { context = ClientContext.getClientContext(Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IRegistManager manager = context.getManager(IRegistManager.class); String[] aa ={mobileNumber}; manager.sendYZM(aa); } catch (LoginException e) { e.printStackTrace(); result=e.getMessage(); } catch (NiGoException e) { e.printStackTrace(); result=e.getMessage(); } catch (Exception e) { e.printStackTrace(); result = "发送验证码失败,请稍后重试"; } return result; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); RepairUtils.myRemoveDialog(pd); allTaskInterface.taskFinishReturn(result); if("".equals(result)){ counter.start(); }else{ UIUtil.showMsg(context, result); } } /** * 异步类执行完毕返回结果接口 * @author Joe * */ public interface TaskStart{ public void taskFinish(String result); } }