短信驗證功能我分兩個模塊來說,短信驗證碼的后台和代碼實現短信驗證碼的功能。
一、短信驗證碼的后台
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中自帶的,不用我們自己搭建。運行效果如下:

