简单说明:
使用Mob提供的SDK,可以非常简单的使用短信验证码功能。
我们不需要自己写任何的页面代码,而不需要搭建后台的服务器。
短信验证的界面由SDK提供了。
步骤:
在Mob.com 申请一个应用,里面可以获取appKey 和 appSecret.
还可以在应用的后台查看验证的记录。
MainActivity.java
package com.example.mobsmsdemo;
import java.util.HashMap;
import cn.smssdk.EventHandler;
import cn.smssdk.SMSSDK;
import cn.smssdk.gui.RegisterPage;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化sdk
// SMSSDK.initSDK(this, "您的appkey", "您的appsecret");
SMSSDK.initSDK(this, "f2acd9ee1622", "72c569594fa96816dcb1bfe529dc061b");
//打开注册页面
RegisterPage registerPage = new RegisterPage();
registerPage.setRegisterCallback(new EventHandler() {
public void afterEvent(int event, int result, Object data) {
// 解析注册结果
if (result == SMSSDK.RESULT_COMPLETE) {
@SuppressWarnings("unchecked")
HashMap<String,Object> phoneMap = (HashMap<String, Object>) data;
String country = (String) phoneMap.get("country");
String phone = (String) phoneMap.get("phone");
// 提交用户信息, 提交的资料将当作“通信录好友”功能的建议资料。
registerUser(country, phone);
//在验证过后可以处理自己想要的操作
Log.v("TAG", "success...");
}
}
});
registerPage.show(MainActivity.this);
}
//这个方法要自己写
protected void registerUser(String country, String phone) {
//提交的资料将当作“通信录好友”功能的建议资料。
String uid = "1223";
String nickName = "yj";
SMSSDK.submitUserInfo(uid, nickName , null, country, phone);
}
}
在AndroidManifest.xml配置权限
<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
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="stateHidden|adjustResize"/>
效果(由Mob SDK提供的界面)