一.在使用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时的版本
- repositories{
- flatDir{
- dirs 'libs'
- }
- }
-
- 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按钮
- <?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中的代码
- 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);
-
- SMSSDK.initSDK(this, "1906c8bda69aa", "a0bb14448c09bb3a03be461a18c512ff");
- 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) {
- super.afterEvent(event, result, data);
-
-
- if (result == SMSSDK.RESULT_COMPLETE) {
-
- HashMap<String, Object> dataMaps = (HashMap<String, Object>) data;
-
- String country = (String) dataMaps.get("country");
-
- String phone = (String) dataMaps.get("phone");
-
- 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后台管理短信设置中把智能验证关闭如下:
运行测试一下顺便把截图贴出来
测试时我用的是测试机,短信接收用的是自己的手机这是手机接收到的验证码