1. 程式人生 > >Mob簡訊驗證碼的繼承

Mob簡訊驗證碼的繼承

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);
        }
    };