因为我有个视频(别人的)里面也是用到了mob的smssdk,但是里面用到的方法是非gradle,及手动下载sdk并进行依赖的方法,一开始想着按照里面的来,可是后面发现视频里的smssdk版本太低了。就用回官方的快速集成,但是官方的也有一个小坑。下面开始介绍

  1. 在项目的根目录下的build.gradle中添加相应代码(这里有个小坑)

按照官方的描述,只添加了  classpath 'com.mob.sdk:MobSDK:+'  ,但是这样会出错。正确的方法是,还是在此文件中添加maven地址:

maven {url "http://mvn.mob.com/android"
}

上图:

2.在app-build.gradle(你的项目下的那个build文件,和第一步的不一样) 添加如下代码

apply plugin: 'com.mob.sdk'

// 在MobSDK的扩展中注册SMSSDK的相关信息

MobSDK {

appKey "*******"                                                //这里得填你自己申请的appKey

appSecret "********"     //这里得填你自己申请的appSecret

SMSSDK {}

}

最后一步,syc就行了。集成的就到这,下面是短信界面的设计以及代码

布局这一块没啥好说的,先设计最丑的吧。

关于验证码短信的代码,首先发布这个短信有两个提交。

第一次提交:你点击 获取短信 按钮,提交“请求获取验证码 ”

SMSSDK.getVerificationCode("86", registerPhone);

点击之后,获取验证码的按钮应该显示倒计时,这时用到一个类  CountDownTimer,直接贴上代码

 private CountDownTimer timer = new CountDownTimer(60000, 1000) {@Overridepublic void onTick(long millisUntilFinished) {btn_check.setText((millisUntilFinished / 1000) + "秒后可重发");}@Overridepublic void onFinish() {btn_check.setEnabled(true);         //btn_check就是  获取验证码 按钮btn_check.setText("获取验证码");codeResult = false;}};

这只是一个方法,还得调用它:timer.start();    //放在按钮的监听事件里,还不知道的话等下我会贴出源码,自己找

第二次提交:检验验证码。

SMSSDK.submitVerificationCode("86", registerPhone,registerCode);//提交验证码  在eventHandler里面查看验证结果  registerCode为验证码

发送之后去到eventHandler看这两次提交的结果

private void initSMSSDK() {EventHandler eh=new EventHandler(){@Overridepublic void afterEvent(int event, int result, Object data) {if (result == SMSSDK.RESULT_COMPLETE) {//回调完成if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//提交验证码成功if (result == SMSSDK.RESULT_COMPLETE ){codeResult = true;          //提交的验证码是正确的submitInfo();} else {Toast.makeText(registerActivity.this, "验证码错误,请重新输入", Toast.LENGTH_SHORT).show();register_code.setText("");}}else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){//获取验证码成功if (result == SMSSDK.RESULT_COMPLETE ){} else {}}}else{((Throwable)data).printStackTrace();}}};
SMSSDK.registerEventHandler(eh); //注册短信回调
}

codeResult是验证码是否成功的标志。

下面贴出完整的代码

package com.handsomexi.homework.Activity;import android.os.CountDownTimer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import com.handsomexi.homework.R;
import com.mob.MobSDK;import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;public class registerActivity extends AppCompatActivity {private boolean codeResult = false;private static String registerPhone;private static String registerCode;@BindView(R.id.register_account)EditText register_account;@BindView(R.id.register_password)EditText register_password;@BindView(R.id.register_phoneNumber)EditText register_phoneNumber;@BindView(R.id.check)Button btn_check;@BindView(R.id.register_code)EditText register_code;@BindView(R.id.register)Button register;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_register);ButterKnife.bind(this);MobSDK.init(this);initSMSSDK();//sendCode(this);}@OnClick({R.id.check,R.id.register})public void onViewClike(View view){switch (view.getId()){case R.id.check:if (validatePhone()){setEditText();SMSSDK.getVerificationCode("86", registerPhone);//发送短信验证码到手机号  86表示的是中国timer.start();  //使用计时器,设置验证码的时间限制}break;//点击注册按钮case R.id.register:setEditText();       //获取手机号码和验证码SMSSDK.submitVerificationCode("86", registerPhone,registerCode);//提交验证码  在eventHandler里面查看验证结果  code为验证码break;}}/*** 验证用户的其他信息* 这里验证两次密码是否一致 以及验证码判断*/private void submitInfo() {//如果验证码正确,保存用户信息,并把用户名和密码发到登录界面if (codeResult){codeResult = false;}}/*** 使用计时器来限定验证码* 在发送验证码的过程 不可以再次申请获取验证码 在指定时间之后没有获取到验证码才能重新进行发送* 这里限定的时间是60s*/private CountDownTimer timer = new CountDownTimer(60000, 1000) {@Overridepublic void onTick(long millisUntilFinished) {btn_check.setText((millisUntilFinished / 1000) + "秒后可重发");}@Overridepublic void onFinish() {btn_check.setEnabled(true);btn_check.setText("获取验证码");codeResult = false;}};/*** 验证手机号码是否符合要求,11位 并且没有注册过(以后再写)** @return 是否符合要求*/private boolean validatePhone() {String phone = register_phoneNumber.getText().toString().trim();return true;}private void setEditText() {registerPhone = register_phoneNumber.getText().toString();registerCode = register_code.getText().toString();              //获取输入的验证码}private void initSMSSDK() {EventHandler eh=new EventHandler(){@Overridepublic void afterEvent(int event, int result, Object data) {if (result == SMSSDK.RESULT_COMPLETE) {//回调完成if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {//提交验证码成功if (result == SMSSDK.RESULT_COMPLETE ){codeResult = true;          //提交的验证码是正确的submitInfo();} else {Toast.makeText(registerActivity.this, "验证码错误,请重新输入", Toast.LENGTH_SHORT).show();register_code.setText("");}}else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){//获取验证码成功if (result == SMSSDK.RESULT_COMPLETE ){} else {}}}else{((Throwable)data).printStackTrace();}}};SMSSDK.registerEventHandler(eh); //注册短信回调}@Overrideprotected void onDestroy() {super.onDestroy();SMSSDK.unregisterAllEventHandler();         //销毁}
}

用户信息存储还没有写

MOB平台smssdk的短信集成相关推荐

  1. Mob平台Smssdk获取短信验证码

    短信验证码可以说是现在app中必备的功能,当然开发过程也很简单,各种各样的短信平台服务也很多,这里我用的是Mob平台的短信验证码服务.http://www.mob.com,注册登录,点击右上角头像,进 ...

  2. 【JAVA】短信集成设计方案

    [JAVA]短信集成设计方案 一.系统集成需求 二.集成方案设计 三.接口设计 一.系统集成需求 1.现场巡视任务中,每一个巡视工单有开始和结束时间,当巡视任务超时.即当前时间已超过巡视工单的预计结束 ...

  3. 中国移动云MAS平台发送普通短信

    使用中国移动云MAS平台发送普通短信 步骤 1.输入用户名和密码登录中国移动云MAS业务平台. 下载用户操作手册 和 HTTP接口文档 深入了解云MAS 2.在中国移动云MAS业务平台的主页面,点击[ ...

  4. 企业短信平台 php,梅州PHP短信平台企业,PHP短信平台

    梅州PHP短信平台企业,PHP短信平台 现如今,很多企业在短信验证码平台时,难免会遇到这样的问题"如何评判一家短信验证码平台",因为大多数企业不想换了又换,这样不仅浪费了金钱,而且 ...

  5. 谈到海外市场推广,别小觑蒲公英内测托管平台的国际短信服务

    在互联网企业关注跨境市场的大背景下,海外推广渠道的类型越来越复杂,Google.Facebook.Twitter.LinkedIn.TikTok联盟营销已经广为大家所知,其次就是SEM推广,比如谷歌的 ...

  6. 百度智能云-短信集成-java-jdk8

    1.百度智能云短信集成,提供了默认的sdk,不过这个sdk需要用到jdk中的 jdk.tools,所以jdk11没法用sdk. maven集成 <dependency><groupI ...

  7. 如何用短信平台发送自定义短信?

    我们经常会收到各类短信,如何用短信平台给用户发送自定义短信呢? 其实很简单,具体方法和步骤如下: 1.注册平台账号 以速盟云信短信平台为例,点击官网右上面的"注册"按钮,注册并登录 ...

  8. android怎么实现手机号登录(2020最新版超详细Mob平台+SMSSDK)?

    mob平台发送验证码 第一步:注册mob平台账号 第二步:在mob平台配置SMSSDK环境. 1.点击下图红色圆圈处的产品中心. 2.点击立即进入. 3.点击创建应用. 4.同意隐私服务. 5.创建应 ...

  9. Mob SDK实现安卓短信验证

    Mob短信验证SDK是一款完全免费的短信服务SDK,查阅后发现大多数移动开发者都使用此SDK进行开发,本人使用后也得到了较好的体验. 一 要使用此SDK,首先要在Mob官网注册一个账号,获得使用此服务 ...

最新文章

  1. SLAM小结——求解退化问题解析(F、H、E)(面试经验总结)
  2. 小程序门店自提功能开启,酷客多带你玩转O2O模式
  3. 2019年值得关注的九个AI创业风口
  4. WPF Interaction框架简介(一)——Behavior
  5. oracle SQL以结尾函数,Oracle学习笔记--SQL查询和SQL函数(转) -- 迷失de天空 -- 编程爱好者......
  6. android中Textview 和图片同时显示时,文字省略号显示,图片自动靠到右边
  7. 齐家网困境:进退两难,合作方和消费者两头都不讨好?
  8. Ubuntu11.04更新源(转)
  9. 安装VS2013的离线MSDN帮助文档
  10. 前端开发之基础知识-HTML(一)
  11. c++ winpcap开发(5)
  12. 本地可以使用oracle吗,Oracle - PLS-00642:SQL语句中不允许使用本地集合类型
  13. dialog问题记录
  14. git GUI管理工具 sourcetree使用
  15. android对象引用释放,Android程序的内存泄漏与规避方法
  16. 【aliplayer】阿里播放器的使用
  17. linux安装ps2键盘驱动程序,VoodooPS2Controller v1.8.25 黑苹果键盘鼠标触摸板万能驱动 _ 黑苹果乐园...
  18. 导航栏背景色、标题颜色以及返回键自定义
  19. android 绘画笔迹回放_android画板笔锋实现
  20. python 调用Multipart类型接口上传文件和下载文件

热门文章

  1. Stata:描述统计结果导出
  2. C语言字符串输入及输出的几种方式
  3. linux核心技术免费学习视频
  4. 华为云GaussDB以技术创新引领金融行业分布式转型
  5. MySQL query rewrite插件简单测试
  6. unity中的HoloLens应用窗口化运行
  7. 字符串查找indexOf()方法应用
  8. 令人感动、深思、惋惜的爱情故事, 一个代表传统中国男人的真情悲苦告白
  9. 【博弈】SG函数模板 nyoj913取石子(十)
  10. 细粒度分类网络 RACNN 论文翻译