工具/原料

 
  • Android Studio
  • mob SDK中的jar 和.so文件

方法/步骤

 
  1. 1

    把3个jar 放入libs

  2.  

    并添加依赖 在项目的build.gradle里面

  3.  

    在你的项目的main 目录下新建jniLibs 文件夹 注意:!!!! 一定是main 目录下 不是 java 文件夹

  4.  

    写代码!一步一步复制吧  SMSSDK.initSDK(this, " ", " ");

  5.  

    EventHandler eh = new EventHandler() {    @Override    public void afterEvent(int event, int result, Object data) {        LogUtils.i("event:"+event+"    result:"+result+"    data:"+data.toString());            switch (event) {                case SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE:                    if (result == SMSSDK.RESULT_COMPLETE) {                        toast("验证成功");                    } else {                        toast("验证失败");                    }                    break;                case SMSSDK.EVENT_GET_VERIFICATION_CODE:                    if (result == SMSSDK.RESULT_COMPLETE) {                        toast("获取验证码成功");                        //默认的智能验证是开启的,我已经在后台关闭                    } else {                        toast("获取验证码失败");                    }                    break;            }    }};

  6.  

    这里是获得验证码的请求:   SMSSDK.getVerificationCode("86", phone, new OnSendMessageHandler() {    @Override    public boolean onSendMessage(String s, String s1) {        return false;    }});

  7.  

    这里是提交用户输入的验证码:SMSSDK.submitVerificationCode("86", phone, SMS);

  8.  

    对了  还有toast

    private void toast(final String str) {

    runOnUiThread(new Runnable() {

    @Override

    public void run() {

    Toast.makeText(RegisterActivity.this, str, Toast.LENGTH_SHORT).show();

    }

    });

    }

  9.  

    完整 demo

    package com.vipheyue.swust.activity;

    import android.app.Activity;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    import android.widget.EditText;

    import android.widget.Toast;

    import com.dd.processbutton.iml.SubmitProcessButton;

    import com.lidroid.xutils.util.LogUtils;

    import com.rengwuxian.materialedittext.MaterialEditText;

    import com.vipheyue.swust.R;

    import com.vipheyue.swust.domain.MyUser;

    import com.vipheyue.swust.utils.ProgressGenerator;

    import butterknife.Bind;

    import butterknife.ButterKnife;

    import butterknife.OnClick;

    import cn.bmob.v3.listener.SaveListener;

    import cn.smssdk.EventHandler;

    import cn.smssdk.OnSendMessageHandler;

    import cn.smssdk.SMSSDK;

    public class RegisterActivity extends Activity implements ProgressGenerator.OnCompleteListener {

    EventHandler eh = new EventHandler() {

    @Override

    public void afterEvent(int event, int result, Object data) {

    LogUtils.i("event:"+event+"    result:"+result+"    data:"+data.toString());

    switch (event) {

    case SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE:

    if (result == SMSSDK.RESULT_COMPLETE) {

    toast("验证成功");

    } else {

    toast("验证失败");

    }

    break;

    case SMSSDK.EVENT_GET_VERIFICATION_CODE:

    if (result == SMSSDK.RESULT_COMPLETE) {

    toast("获取验证码成功");

    //默认的智能验证是开启的,我已经在后台关闭

    } else {

    toast("获取验证码失败");

    }

    break;

    }

    }

    };

    private void toast(final String str) {

    runOnUiThread(new Runnable() {

    @Override

    public void run() {

    Toast.makeText(RegisterActivity.this, str, Toast.LENGTH_SHORT).show();

    }

    });

    }

    @Bind(R.id.met_phone)

    MaterialEditText metPhone;

    @Bind(R.id.btn_Send)

    SubmitProcessButton btnSend;

    @Bind(R.id.et_codeSMS)

    EditText etCodeSMS;

    @Bind(R.id.bt_commit)

    Button btCommit;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_register);

    ButterKnife.bind(this);

    LogUtils.customTagPrefix = "xUtils";  LogUtils.allowI = true;

    SMSSDK.initSDK(this, "bed3c2b8490b", "aa7933d433ce4a6b7b1d895f93312fef");

    SMSSDK.registerEventHandler(eh); //注册短信回调

    getSMS();

    }

    private void getSMS() {

    String phone = metPhone.getText().toString();

    SMSSDK.getVerificationCode("86", phone, new OnSendMessageHandler() {

    @Override

    public boolean onSendMessage(String s, String s1) {

    return false;

    }

    });

    }

    @OnClick(R.id.bt_commit)

    public void onClick() {

    String SMS=etCodeSMS.getText().toString().trim();

    String phone = metPhone.getText().toString();

    SMSSDK.submitVerificationCode("86", phone, SMS);

    }

    }

  10.  

    注意到mob后台去把只能短信 关闭哟

MOB 短信验证的更多相关文章

  1. Mob短信验证的配置的解释

    原文地址:http://www.jb51.net/article/84946.htm 关于mob短信验证的解释: mob官方是这样写的: repositories{ flatDir{ dirs 'li ...

  2. Mob短信验证的具体使用

    原文著作权地址:http://www.jb51.net/article/84946.htm demo地址:http://git.oschina.net/lizhanqi/MobSMSDemo 一.前言 ...

  3. 『实践』Android之短信验证码(用的Mob短信验证)

    1.参考资料 Mob网站:http://www.mob.com/ Mob在Github上的例子:https://github.com/MobClub/SMSSDK-for-Android 教程:htt ...

  4. Mob.com 短信验证的简单使用

    1.环境配置 http://wiki.sharesdk.cn/android-短信sdk集成文档/ a.sdk下载 http://www.mob.com/#/downloadDetail/SMS/an ...

  5. 【mob】Android短信验证+源码

    在很多的应用当中,都涉及到了短信验证的功能,比如在注册或者找回密码的时候,那么我们如何通过第三方的平台来完成这个功能呢? 本面博文就实现短信验证,来做一个小的栗子. 第一步-下载开发包 第二步-将SD ...

  6. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自己主动填入功能结合实例)

    用户注冊或者找回password时通常会用到短信验证功能.这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注冊用户.获取SD ...

  7. Mob 之 短信验证集成 SMSSDK

    开相关发中总会遇到短信验证这些操作,这周没有来得及写新的东西,借此分享一篇以前学习短信验证的笔记,本文使用的是 Mob 提供的 SMSSDK . 下载 SMSSDK 官网下载地址:SMSSDK 集成 ...

  8. 完整的Android手机短信验证源码

    短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能. 一.短信验证码的后台      1.注册Mob账号:http://www.mob.com/#/login 2.注册成功之后, ...

  9. android短信验证

    短信验证demo http://download.csdn.net/detail/crazy1235/8315279#comment 使用MOB平台开发,用法详见: http://blog.csdn. ...

随机推荐

  1. [NSURLConnection]分别用Post和Get方式获取网络数据并把数据显示到表格

    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate> { UIButton* getButton; ...

  2. 使用iScroll时,input等不能输入内容的解决方法

    做移动平台的应用,使用iscroll使屏幕上下滑动.发现当使用iscroll后,input等不能输入内容了.只要在iscroll.js文件中加入如下代码就ok了. function allowForm ...

  3. linq lanbda表达式的用法

    1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq:    from s in Student ...

  4. Android 中沉浸式状态栏实现

    Android 中沉浸式状态栏实现方式如下 计算状态栏高度及调用沉浸式状态栏的相关API方法 package com.example.status; import android.annotation ...

  5. 【编程题目】求1+2+…+n, 要求不能使用乘除法、for、while、if、else、switch、case和条件语句

    看到这个问题,第一个反应是真变态啊. 然后,直觉是不能用循环就只能用递归了.可递归怎么跳出来却遇到了麻烦, 我连goto语句都考虑了也没弄好. 后来想到一个非常NC的方法:查找表. 如果n限定一个比较 ...

  6. 【xml】利用OpenCV解析

    看到一篇讲的很清楚的博客:http://blog.csdn.net/jarvischu/article/details/8481510

  7. linux下U盘文件只读的解决办法

    . 在终端运行如下命令 tail -f /var/log/syslog . 插入有只读文件系统故障的U盘 . 观察命令行输出 输出局部如下: Jul :: cslouis-pc kernel: [15 ...

  8. 模拟赛1102d1

    炮(cannon)[题目描述]众所周知,双炮叠叠将是中国象棋中很厉害的一招必杀技.炮吃子时必须隔一个棋子跳吃,即俗称"炮打隔子". 炮跟炮显然不能在一起打起来,于是rly一天借来了 ...

  9. js windows对象

    一.DOM操作 windows对象操作 document对象操作     二.属性.事件 1.window的属性: window.shuxing(属性) window.fangfa()(方法) 方法后 ...

  10. 【PHP绘图技术&&验证码绘制】

    PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...