完整的Android手機短信驗證源碼


短信驗證功能我分兩個模塊來說,短信驗證碼的后台和代碼實現短信驗證碼的功能。

一、短信驗證碼的后台

     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中自帶的,不用我們自己搭建。運行效果如下:

                                            

 

 
        

  

 

 
        

 

           

 

            

 

 

 

           


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM