您的位置:首页 > 移动开发 > Android开发

Android集成Mob平台获取短信验证码

2017-03-16 08:31 399 查看
一.在使用Mob平台短信验证码时需要到官网注册账号然后获取开发者资格申请AppKey和AppSecret

注册Mob账号官网地址:http://www.mob.com 注册之后点击进入后台



进入后台然后点击短信验证码选择启用点击进入



获取AppKey和AppSecret如下


二.获取Key之后下载我们需要的SDK然后进行开发地址:http://www.mob.com/#/downloadDetail/SMS/Android可以选择Eclipse和Android
Studio两个版本的我们选择Android Studio的



新建一个Android Studio项目然后把我们下载的SDK SMSSDK文件夹中的jar包和SMSSDK.aar文件放入我们的项目libs中如下



然后在build.gradle中添加依赖注意aar文件是你下载SDK时的版本

[java] view
plain copy

repositories{  

    flatDir{  

        dirs 'libs' //就是你放aar的目录地址  

    }  

}  

  

dependencies {  

    compile fileTree(include: ['*.jar'], dir: 'libs')  

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {  

        exclude group: 'com.android.support', module: 'support-annotations'  

    })  

    compile 'com.android.support:appcompat-v7:24.2.1'  

    testCompile 'junit:junit:4.12'  

    compile files('libs/MobTools-2016.1012.1447.jar')  

    compile files('libs/MobCommons-2016.1012.1447.jar')  

    compile name:'SMSSDK-2.1.2',ext:'aar'  

    compile name:'SMSSDKGUI-2.1.2',ext:'aar'  

}  

三.开始写我们的代码布局文件很简单一个Button按钮

[html] view
plain copy

<?xml version="1.0" encoding="utf-8"?>  

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  

    xmlns:tools="http://schemas.android.com/tools"  

    android:id="@+id/activity_main"  

    android:layout_width="match_parent"  

    android:layout_height="match_parent"  

    tools:context="com.shiran.smsdemo.MainActivity">  

  

    <Button  

        android:id="@+id/button_Sms"  

        android:layout_width="match_parent"  

        android:layout_height="wrap_content"  

        android:layout_centerInParent="true"  

        android:text="获取验证码"/>  

</RelativeLayout>  

接下来就是我们的Activity中的代码

[java] view
plain copy

package com.shiran.smsdemo;  

  

import android.support.v7.app.AppCompatActivity;  

import android.os.Bundle;  

import android.view.View;  

import android.widget.Button;  

  

import java.util.HashMap;  

import java.util.Random;  

  

import cn.smssdk.EventHandler;  

import cn.smssdk.SMSSDK;  

import cn.smssdk.gui.RegisterPage;  

  

public class MainActivity extends AppCompatActivity implements View.OnClickListener{  

    private Button mButton = null;  

  

    @Override  

    protected void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.activity_main);  

        //填写申请的AppKey,和AppSecret  

        SMSSDK.initSDK(this, "1906c8bda69aa", "a0bb14448c09bb3a03be461a18c512ff");//初始化SDK  

        mButton = (Button) findViewById(R.id.button_Sms);  

        mButton.setOnClickListener(this);  

}  

  

    @Override  

    public void onClick(View v) {  

        if(mButton == v){  

     //打开注册界面  

     RegisterPage registerPage = new RegisterPage();  

     registerPage.setRegisterCallback(new EventHandler() {// 事件调用监听类  

  

     @Override  

     public void afterEvent(int event, int result, Object data) {//短信SDK操作回调  

      super.afterEvent(event, result, data);  

  

         //解析注册结果  

      if (result == SMSSDK.RESULT_COMPLETE) {// 如果状态为完成状态,表示注册成功  

          // 获取Data中的数据  

          HashMap<String, Object> dataMaps = (HashMap<String, Object>) data;  

          // 获取手机号所在国家信息  

          String country = (String) dataMaps.get("country");  

          // 获取收到验证码的手机号码  

          String phone = (String) dataMaps.get("phone");  

          // 提交信息到mob注册  

          submitInfo(country, phone);  

      }  

  

 }  

});  

  

   // 第三步:显示注册界面  

   registerPage.show(MainActivity.this);  

  

    }  

}  

    private void submitInfo(String country, String phone) {  

        Random r = new Random();  

        String uid = Math.abs(r.nextInt()) + "";  

        String nickName = "设置个昵称";  

        SMSSDK.submitUserInfo(uid, nickName, null, country, phone);// 提交用户信息,在监听中返回  

    }  

}  

Mob默认开启了只能验证就是一个手机号第一次验证之后后面再次验证就会智能通过 可以到Mob后台管理短信设置中把智能验证关闭如下:



运行测试一下顺便把截图贴出来





测试时我用的是测试机,短信接收用的是自己的手机这是手机接收到的验证码

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: