集成Mob短信,提交验证码成功的回调方法在子线程
2017-04-01 10:49
197 查看
在集成mob短信时,需要在提交验证码成功的event中更改ui,下面是回调中的操作,
因为我将发送验证码封装了,所以在afterEvent中又增加了一个自己的回调方法,表示验证码提交成功,于是,我在我的回调中更新ui,可是,报错了,程序闪退,怪只怪AS的log跑的真是快,根本看不到有用的信息,于是,我又捕捉异常,将异常信息写在本地,就这样,经过了很长时间,终于看到了错误,原文就不说了,大致意思就是,不能再子线程更新ui,可是哪里是子线程呢,唯一有可能的就是我的回调,抱着试一试的态度,我在自己的回调中使用handler发送了一条消息,然后再处理ui,我的天啊,成功了,果然是,afterEvent中的操作是在子线程的。所以不能再里面更新ui。
EventHandler eh = new EventHandler() { @Override public void afterEvent(int event, int result, Object data) { if (result == SMSSDK.RESULT_COMPLETE) { //回调完成 if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) { //提交验证码成功 L.Jout("提交成功"); if (onSMSReceivedEvent != null) { onSMSReceivedEvent.onSMSReceived(getPhone()); } } else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) { //获取验证码成功 L.Jout("获取验证码成功" + result + "数据" + data); } else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) { //返回支持发送验证码的国家列表 } } else { ((Throwable) data).printStackTrace(); Looper.prepare(); Toast.makeText(context, "验证码错误", Toast.LENGTH_SHORT).show(); Looper.loop(); } } };
因为我将发送验证码封装了,所以在afterEvent中又增加了一个自己的回调方法,表示验证码提交成功,于是,我在我的回调中更新ui,可是,报错了,程序闪退,怪只怪AS的log跑的真是快,根本看不到有用的信息,于是,我又捕捉异常,将异常信息写在本地,就这样,经过了很长时间,终于看到了错误,原文就不说了,大致意思就是,不能再子线程更新ui,可是哪里是子线程呢,唯一有可能的就是我的回调,抱着试一试的态度,我在自己的回调中使用handler发送了一条消息,然后再处理ui,我的天啊,成功了,果然是,afterEvent中的操作是在子线程的。所以不能再里面更新ui。
相关文章推荐
- mob免费短信验证码安卓SDK调用方法
- Android开发工程中集成mob短信验证码功能的方法
- mob免费短信验证码安卓SDK调用方法
- Android开发工程中集成mob短信验证码功能的方法
- jquery form表单提交成功,回调方法
- mob免费短信验证码安卓SDK调用方法
- 集成友盟分享 分享成功后iOS8回调方法正常 iOS9没有回调
- 向系统注册回调(Callback)函数的方法--获取电话状态更新和短信接收通知
- App开发中利用Mob实现免费短信验证码
- submit异步提交 回调的方法
- Android实战简易教程<三十九>(第三方短信验证平台Mob和验证码自动填入功能结合实例)
- Android快速SDK(21)免费短信验证码库MobSms【肌肉记忆,分钟接入】
- 初识安卓之:异步备份手机短信,详解自定义接口,回调抽象方法
- 天翼开放平台自定义短信验证码下发使用方法java版
- selenium 判断某一个提交操作是否成功的方法
- C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
- C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
- Facebook使用应用登陆成功后回调返回认证失败解决方法
- SSH集成后HibernateTemplate的save方法执行成功但是不持久化到数据库的问题解决办法
- dede留言板提交验证码错误时返回空白页处理方法