Mob簡訊驗證碼的繼承
阿新 • • 發佈:2018-12-17
http://dashboard.mob.com/#!/index
登入mob後臺管理註冊應用
注意點:應用名稱和專案名一樣
建立好應用後會有相對應的appkey和appsecret
我們一點要開啟服務
下面進行配置
http://wiki.mob.com/sdk-sms-android-3-0-0/
在主工程下的bulid下配置
repositories { jcenter() //新增MobSDK的maven地址 maven { url "http://mvn.mob.com/android" } } dependencies { // 註冊MobSDK classpath 'com.mob.sdk:MobSDK:+' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
在model下的bulid配置如下程式碼
apply plugin: 'com.mob.sdk'
MobSDK {
appKey "294c7e18c925a"
appSecret "4c7a1291f4dbec9019dbfb0406331bb5"
SMSSDK {
// gui false
}
}
這個樣子我們就配置好了,那麼如何去使用呢首先在 Appliaction中配置如下程式碼
public class AccountApplication extends Application{ @Override public void onCreate() { super.onCreate(); MobSDK.init(this); } }
在onCreatView中初始化
//公共部分
SMSSDK.setAskPermisionOnReadContact(true);
我們點選按鈕獲取驗證碼
// 註冊一個事件回撥,用於處理SMSSDK介面請求的結果 SMSSDK.registerEventHandler(eventHandler); // 請求驗證碼,其中country表示國家程式碼,如“86”;phone表示手機號碼,如“13800138000” SMSSDK.getVerificationCode("86", phone);// 提交驗證碼,其中的code表示驗證碼,如“1357”
l
EventHandler eventHandler = new EventHandler() {
public void afterEvent(int event, int result, Object data) {
// afterEvent會在子執行緒被呼叫,因此如果後續有UI相關操作,需要將資料傳送到UI執行緒
Message msg = new Message();
msg.arg1 = event;
msg.arg2 = result;
msg.obj = data;
new Handler(Looper.getMainLooper(), new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
int event = msg.arg1;
int result = msg.arg2;
Object data = msg.obj;
if (result == SMSSDK.RESULT_COMPLETE) {
//回撥完成
if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
//提交驗證碼成功
Logger.i("EventHandler", "提交驗證碼成功");
//MD5加密進行註冊
String Md5pass = Md5Util.mD5(strUserReigisPass);
persenter.userReigis(strUserReigisMailbox, Md5pass);
} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {
//獲取驗證碼成功
Logger.i("EventHandler", "獲取驗證碼成功");
} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {
//返回支援傳送驗證碼的國家列表
Logger.i("EventHandler", "返回支援傳送驗證碼的國家列表");
}
} else {
((Throwable) data).printStackTrace();
Logger.i("EventHandler", "回撥失敗");
}
return false;
}
}).sendMessage(msg);
}
};