工具/原料

 
  • 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. ACM/ICPC 之 数据结构-线段树+区间离散化(POJ2528)

    这道题用线段树做更方便更新和查询,但是其数据范围很大,因此要将离散化和线段树结合起来,算是一道比较经典的线段树+离散化的例题. 线段树的离散化有很多方法,在这里,我先用一次结点离散化,间接将源左右端点 ...

  2. 【python】getopt使用

    来源:http://blog.chinaunix.net/uid-21566578-id-438233.html 注意对比:[python]argparse模块 作者:limodou版权所有limod ...

  3. HDU 4950 Monster

    题目链接 题意:有一个怪物的血量为h,人攻击怪物,每回合可以杀掉a滴血,再回b滴血,k个回合之后人会休息一回合,即人不攻击而怪物回b滴血,问能否杀死.翻译过来就是给定一个数h,每轮可以先减a再加b,k ...

  4. 【XLL API 函数】xlCoerce

    将 XLOPER/XLOPER12 转换为另一种类型,或是查询表格中的单元格值. 函数原型 Excel12(xlCoerce, LPXLOPER12 pxRes, 2, LPXLOPER12 pxSo ...

  5. HTML标记之a标签

    一.a标签的语法 <a href=”链接目标地址” title=”注释” target=”打开链接窗口的形式”>链接显示内容</a> target值: _blank在新窗口中打 ...

  6. Union函数

    . 共用体声明和共用体变量定义 共用体(参考“共用体”百科词条)是一种特殊形式的变量,使用关键字union来定义 共用体(有些人也叫"联合")声明和共用体变量定义与结构体十分相似. ...

  7. 51nod1019逆序数(归并排序/树状数组)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1019 题意:中文题诶- 思路: 方法1:归并排序- 归并排序过 ...

  8. 20145206《Java程序设计》实验五Java网络编程及安全

    20145206<Java程序设计>实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 我和201451 ...

  9. mysql编码设置

    一:mysql字符集 mysql的字符集支持(Character Set Support)有两个类型:字符集(Character set)和连接校对(Collation).对于字符集的支持细化到四个层 ...

  10. Loadrunner中Throughput(吞吐量)的分析与计算

    Throughput翻译为吞吐量,按照常规理解网络吞吐量表示在单位时间内通过网卡数据量之和,其中即包括本机网卡发送出去的数据量也包括本机网卡接收到的数据量,但这个理解在Loadrunner记录的Thr ...