短信验证功能我分两个模块来说,短信验证码的后台和代码实现短信验证码的功能。

一、短信验证码的后台

     1、注册Mob账号:http://www.mob.com/#/login

2、注册成功之后,点击“头像”,进入“产品中心”,进入如下界面点击第二项添加应用。添加完应用几秒后再次进入第二项。

3、在第二步之后我们会得到两个重要的参数App key和App Secret,用于客户端和服务端的链接,创建好应用之后还会得到两个菜单选项“验证记录”和“短信设置”,“验证记录”是说我们进行短信验证之后后台会形成一个相关的记               录,比如手机类型、运营商、发送的时间以及验证的时间等内容。“短信设置”是说当前的短信是否支持全球运营商、大陆运营商等。

4、下载SDK,具体怎么下载我就不说了,我说说解压缩的SDK的各个文件什么意思吧解压缩之后,我们打开ApiDoc——>index.html,就可以看这个SDK里的内容了。里边的内容都给了清楚的解释。大家也可以看看SMSSDK文                件夹,里边存放了SDK的源码。里边还有一个SMSSDK_User_Guide,打开之后大家可以按照里面的步骤进行操作。

三、实现短信验证码的功能

      1、导入SDK

             如果你的SDK是SMSSDK 2.0.1之后就省事儿了,把下载的SDK解压缩之后,我的是Android Studio的SDK,所以下面说的操作都是针对Android Studio进行的。会出现如下目录:

打开SMSSDkmu目录,将里边的MobCommons-2016.0303.1229.jar,MobTools-2016.0303.1229.jar,SMSSDK-2.0.2.aar,SMSSDKGUI-2.0.2.aar放到了项目app的libs目录下。然后在app目录下的build.gradle,加               上红圈中的这几句就行了。
          

2、配置清单文件信息,配置内容如下:

<--权限-->
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!--配置Activity信息-->
<activity android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize"> </activity>

    3、初始化SDK:SMSSDK.initSDK(this, APPKEY, APPSECRET);

4、注册手机号:RegisterPage registerPage = new RegisterPage();

      5、注册回调事件         

registerPage.setRegisterCallback(new EventHandler() {
//事件完成后调用
public void afterEvent(int event, int result, Object data) {
// 判断结果是否已经完成
if (result == SMSSDK.RESULT_COMPLETE) {
@SuppressWarnings("unchecked")
//获取数据data
HashMap<String, Object> phoneMap = (HashMap<String, Object>) data;
//国家信息
String country = (String) phoneMap.get("country");
//手机号信息
String phone = (String) phoneMap.get("phone"); // 自定义方法提交用户信息
registerUser(country, phone);
}
}
});

6、显示注册界面registerPage.show(MainActivity.this);

7、对registerUser方法进行说明

 public void registerUser(String country,String phone){
//在int类型里随机取一个数在转成字符串
Random r=new Random();
String uid= Math.abs(r.nextInt())+"";
String nickName="ct";
SMSSDK.submitUserInfo(uid,nickName,null,country,phone);
}

三、运行结果

上面这个界面是自己搭建的UI界面,点击上面的Button可以出发上面的步骤5和6,就会出现下面的效果,下面的UI都是SMSSDK中自带的,不用我们自己搭建。运行效果如下:

                                       


  


           

 

完整的Android手机短信验证源码的更多相关文章

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

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

  2. 如何实现php手机短信验证功能

    http://www.qdexun.cn/jsp/news/shownews.do?method=GetqtnewsdetailAction&id=1677 下载php源代码 现在网站在建设网 ...

  3. 用Tasker实现收到Android手机短信自动转发到邮箱

    发送短信到邮箱的原理与 <用Tasker实现收到Android手机短信自动转发到邮箱>有些类似.  发送短信到邮箱是利用Ifttt这个服务将短信转发到邮箱中.Ifttt服务的可扩展性很强, ...

  4. 短信平台软件开发,短信发送平台销售,短信软件源码,G客短信发送平台

    一:web短信平台组成  需要短信软件平台源码的联系QQ:290615413 vx:290615413  整套短信系统平台还是由B/S(客户端+后台,取消了以前C/S的管理后台) ,C/S发送服务端和 ...

  5. ASP.NET MVC 手机短信验证

    本文来自于stoneniqiu的文章,原文地址 http://www.cnblogs.com/stoneniqiu/p/6234002.html 1.注册一个应用 得到AppKey 和 App Sec ...

  6. 利用twilio进行手机短信验证

    首先要注册 twilio 账号但是由于twilio人机验证用的是Goole所有注册需要FQ 完成后去免费获取15元使用 然后 pip install twilio 注册完成后会在个人首页显示你的免费金 ...

  7. Android抢先截获短信(附源码)

    之前在写通讯录应用时,将整体的代码写完后,自测时发现非常非常多的问题,其中一个非常重要严重的就是可以发出短信,但收不到任何的短信息,这搞的我好捉鸡啊!后来调试发现是由于没有收到短信的消息导致的,然后将 ...

  8. android手机短信获取

    关于Android中对短信的一些相关操.我看到一个文章下面我就从标题中的三个方面来对Android系统中的短信操作进行一个简单地学习. 短信发送: 由于Android中对短信发送方法的优良封装,之后对 ...

  9. 第一次发博,发个简单的Java程序发送手机短信验证

    最近在准备一个项目,想的登录时候用手机验证,就通过上网查阅了一下手机验证的实现方法,原来超级简单,下面将一步一步介绍. 1.去中国网建注册一个账号密码,首次注册送五条免费短信和3条免费彩信.具体的网址 ...

随机推荐

  1. Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)

    链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/04/2379628.html 一.概述 关于Socket编程的基本方法在基础篇里已经讲过,今天把 ...

  2. iOS自动自动隐藏软键盘

    自动隐藏软键盘,分为两步,一个是单击软键盘外部任意空间:另外一个是单击软键盘上的return键.下面依次实现 单击软键盘外部空间键隐藏软键盘: 一:在viewDidLoad中添加一个UITabGest ...

  3. html加载与脚本运行中,由于html未完全加载而导致脚本找不到dom元素无法执行事件

    问题: 如题,就是说alert后出现一个对话框,我没有点关闭,其他js文件或html会被加载吗,我遇到一个问题就是在页面加载时调用一个div的click事件,却没有被执行,但是在调用事件前面加上ale ...

  4. pexpect-pxssh-登陆Linux-执行命令

    #!/usr/bin/python import pexpect import pxssh try: remote=pxssh.pxssh() hostname=raw_input('hostname ...

  5. javascript Node操作

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. ISO/IEC14443和15693的对比有何具体区别

    ISO14443 ISO14443A/B:超短距离智慧卡标准.这标准订出读取距离7-15厘米的短距离非接触智慧卡的功能及运作标准,使用的频率为13.56MHz.     ISO14443定义了TYPE ...

  7. QT 自动获取可用串口

    本来想直接用Settings来获取的,但是串口信息类似 "\Device\Serial0",死活获取不了,用了转义.反斜杠还是获取不到,所以就放弃了,网上好像也没有获取成功的. 所 ...

  8. Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法(一定要写在源码里,写在翻译文件里不行,因为\n得不到转义)

    最近在做基于Qt的应用项目,其中有一个按钮文字超长,需要换一行显示.从网上找到的建议都是将要显示的内容做成图片,然后将图片设置为该按钮的背景.但是这样做有一个很大的局限性,当需要更改内容文字的时候,需 ...

  9. Oracle 日期时间

    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from goods t insert into goods (id,createdate) value ...

  10. 自制的七个C,总结的太好了

    拿破仑·希尔把它叫做:“自制的七个C”: 1.控制自己的时间(Clock). 时间虽不断流逝,但也可以任人支配.你可以选择时间来工作.游戏.休息.烦恼..虽然客观的环境不一定能任人掌握,但人却可以自己 ...