个人技术博客(α)

Android Studio Mob短信验证

参考博客地址:http://blog.csdn.net/donkor_/article/details/53389505

短信验证平台——Mob.com

1.注册开发者

2.创建名为Haoji的Android应用

3.进入后台——设置,获取创建应用成功后的APP Key和 APP Secret

4.下载 SMS For Android短信验证码SDK


解压后打开

MobCommons.jar:Mob 通用公共库(必须)
MobTools.jar:Mob 工具公共库(必须)
SMSSDK-<version>.aar:SMSSDK 核心(必须)
SMSSDKGUI-<version>.aar:SMSSDK GUI 开源库(非必须)
HowToUse.txt:使用说明

有分自带GUI和无GUI的
我们用自己的GUI所以选择这三个包就好

5.三个包拷贝到项目中,放在Module所在的Libs里面,在build.gradle中进行配置添加依赖

6.添加以下权限:

<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.SEND_SMS"/>
    <uses-permission android:name="android.permission.READ_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" />

在Application节点下添加以下属性:

           android:name="com.mob.MobApplication"

在Application节点下添加以下meta-data——配置AppKey和AppSecret(步骤三获得)

 <meta-data android:name="Mob-AppKey"
                   android:value="224aff414d8cc" />
        <meta-data android:name="Mob-AppSecret"
                   android:value="3b6bb2fa97de9bba2183f18c59e1b1c9" />

7.以上是准备活动,选择来看一下短信验证码的工作流程

SDK与MOB的服务器有两次交互过程
手机app请求MOB服务器发送验证码,参数为phoneNumber
接收到验证码短信之后,手机app向MOB服务器回传(phoneNumber,varifyCode)以验证其正确性。

8.往SMSSDK中注册一个事件接收器

创建EventHandler对象(EventHandler是SDK注册过程的回调接口,其中分别有对各个验证状态和过程的响应状态)

注册SDK回调

//注册回调监听接口
        SMSSDK.registerEventHandler(eventHandler);

注册和注销是配套的

  SMSSDK.unregisterAllEventHandler();

回传验证码以确定输入的验证码是否正确

   SMSSDK.submitVerificationCode("86", phoneNum, edit_code.getText().toString());

请求验证码

 SMSSDK.getVerificationCode("86", phoneNum);

9.使用过程:

  • 初始化SMSSDK(步骤六里面“添加meta-data”已完成)
  • 初始化registerEventHandler()
  • 编写请求验证码和回传验证码方法
  • 在EventHandler里相应的状态中处理发送后的事件

10.子线程进行UI操作

  • 在主线程里面创建一个Handler对象,重写handlerMessage()方法,
  • 当子线程需要UI操作时,就创建一个Message对象,通过Handler将这条消息发出
  • 消息被添加到MessageQueue中等待被处理
  • Looper一直尝试从MessageQueue取出待处理消息
  • 取出后,分发回handlerMessage()方法,处理消息
原文地址:https://www.cnblogs.com/xiao2017/p/7820278.html