欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼

 更新時(shí)間:2016年07月26日 09:12:02   作者:Greathfs  
這篇文章主要介紹了Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼的相關(guān)資料,需要的朋友可以參考下

在我們現(xiàn)在開發(fā)APP過(guò)程中,當(dāng)用戶注冊(cè)時(shí),短信驗(yàn)證是必不可少的操作,這里我們就是用一個(gè)免費(fèi)的第三方短信驗(yàn)證SDK-MOP

首先看下效果圖


這里寫圖片描述

獲取AppKey和AppSecret

首先進(jìn)入官網(wǎng),登錄(沒(méi)有帳號(hào)的自己去注冊(cè)一個(gè))。鼠標(biāo)移動(dòng)到右側(cè)頭像處,點(diǎn)擊進(jìn)入后臺(tái)。


這里寫圖片描述

官網(wǎng)首頁(yè)

選擇SecurityCodeSDK。


這里寫圖片描述

選擇短信SDK

進(jìn)入后臺(tái)頁(yè)面后,點(diǎn)擊添加按鈕、填寫應(yīng)用名稱(這個(gè)可以隨便寫)、選擇Android后,點(diǎn)擊添加即可。

這里寫圖片描述 

添加應(yīng)用

添加成功后,就會(huì)進(jìn)入以下界面,在這里就可以看到剛剛申請(qǐng)成功的App Key和App Secret

這里寫圖片描述

下載SDK

下載SDK

官方文檔

這里我們選擇AndroidStudio版本

下載之后解壓,有一個(gè)SMSSDK文件夾 里面有4個(gè)包 ,把他們放到我們項(xiàng)目的libs下


這里寫圖片描述

之后打開app下的buildgradle,按照下面的圖進(jìn)行操作


這里寫圖片描述

這是AndroidStudio代碼

repositories{ flatDir{ dirs 'libs' }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile name:'SMSSDK-2.1.1',ext:'aar' compile name:'SMSSDKGUI-2.1.1',ext:'aar' compile 'com.android.support:appcompat-v7:23.3.0'}

配置AndroidManifest.xml

加權(quán)限

 <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.READ_SMS" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

然后打“application”下添加如下activity:

<activity  android:name="com.mob.tools.MobUIShell"  android:theme="@android:style/Theme.Translucent.NoTitleBar"  android:configChanges="keyboardHidden|orientation|screenSize"  android:windowSoftInputMode="stateHidden|adjustResize"/>

使用SMSSDK發(fā)送短信驗(yàn)證碼,并驗(yàn)證

核心方法

1.初始化SDK,單例,可以多次調(diào)用;任何方法調(diào)用前,必須先初始化

initSDK(Context context, String appkey, String appSecrect)

2.注冊(cè)回調(diào)接口

registerEventHandler(EventHandler handler)

3.注銷回調(diào)接口

unregisterEventHandler(EventHandler handler)

4.接收回調(diào)的類

EventHandler

initSDK方法是短信SDK的入口,需要傳遞您從ShareSDK應(yīng)用管理后臺(tái)中注冊(cè)的應(yīng)用AppKey和AppSecrete,如果填寫錯(cuò)誤,后續(xù)的操作都將不能進(jìn)行。registerEventHandler用來(lái)往SMSSDK中注冊(cè)一個(gè)事件接收器,SMSSDK允許開發(fā)者注冊(cè)任意數(shù)量的接收器,所有接收器都會(huì)在事件 被觸發(fā)時(shí)收到消息。

registerEventHandler必須和unregisterEventHandler配套使用,否則可能造成內(nèi)存泄漏。

5.獲取短信目前支持的國(guó)家列表,在監(jiān)聽中返回

getSupportedCountries()

6.請(qǐng)求獲取短信驗(yàn)證碼,在監(jiān)聽中返回

getVerificationCode(String country, String phone)

7.提交短信驗(yàn)證碼,在監(jiān)聽中返回

submitVerificationCode(String country, String phone, String code)

getVerificationCode用于向服務(wù)器請(qǐng)求發(fā)送驗(yàn)證碼的服務(wù),需要傳遞國(guó)家代號(hào)和接收驗(yàn)證碼的手機(jī)號(hào)碼,支持此服務(wù)的國(guó)家代碼在 getSupportedCountries中獲取。請(qǐng)求getVerificationCode的時(shí)間間隔不應(yīng)該小于60秒,否則服務(wù)端會(huì)返回“操作過(guò) 于頻繁”的錯(cuò)誤 submitVerificationCode用于向服務(wù)器提交接收到的短信驗(yàn)證碼,驗(yàn)證成功后會(huì)通過(guò)EventHandler返回國(guó)家代碼和電話號(hào)碼。

具體實(shí)現(xiàn)步驟

初始化SDK。

// 填寫從短信SDK應(yīng)用后臺(tái)注冊(cè)得到的APPKEY

 private static String APPKEY = "154e3e410abc3";

// 填寫從短信SDK應(yīng)用后臺(tái)注冊(cè)得到的APPSECRET

 private static String APPSECRET = "05713446f9786e2ad096c46fd4735dfe";SMSSDK.initSDK(context, APPKEY, APPSECRET);

聲明EventHandler。(獲取驗(yàn)證碼成功、提交驗(yàn)證碼成功等回調(diào)都在EventHandler中實(shí)現(xiàn))

 EventHandler eh=new EventHandler() {  @Override  public void afterEvent(int event, int result, Object data) {  if (result == SMSSDK.RESULT_COMPLETE) {   //回調(diào)完成   if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {   //提交驗(yàn)證碼成功   Log.i("EventHandler", "提交驗(yàn)證碼成功");   }else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){   //獲取驗(yàn)證碼成功   Log.i("EventHandler", "獲取驗(yàn)證碼成功");   }else if (event ==SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){   //返回支持發(fā)送驗(yàn)證碼的國(guó)家列表   Log.i("EventHandler", "返回支持發(fā)送驗(yàn)證碼的國(guó)家列表");   }  }else{           ((Throwable)data).printStackTrace();   Log.i("EventHandler", "回調(diào)失敗");  }  } };

這里需要注意一下:afterEvent()并不在主線程中,因此回調(diào)完成的時(shí)候不能在afterEvent()中執(zhí)行更新UI,若需要執(zhí)行UI操作請(qǐng)使用Handler。

注冊(cè)短信回調(diào)

SMSSDK.registerEventHandler(eh); //注冊(cè)短信回調(diào)

這樣就完成SDK的初始化和短信回調(diào)的注冊(cè)了,接下來(lái)只要調(diào)用發(fā)送短信和驗(yàn)證驗(yàn)證碼的接口就行了

銷毀回調(diào)監(jiān)聽接口

 SMSSDK.unregisterAllEventHandler();

打開注冊(cè)界面

 // 打開注冊(cè)頁(yè)面  RegisterPage registerPage = new RegisterPage();  registerPage.setRegisterCallback(new EventHandler() {   public void afterEvent(int event, int result, Object data) {   // 解析注冊(cè)結(jié)果   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);   }   }  });  registerPage.show(this);

這樣就完成了簡(jiǎn)單的短信驗(yàn)證了

PS:

把項(xiàng)目上傳到Github上了,附上地址

Github項(xiàng)目地址

以上所述是小編給大家介紹的Android實(shí)現(xiàn)短信驗(yàn)證功能的代碼的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解如何在Android Studio中添加RecyclerView-v7支持包

    詳解如何在Android Studio中添加RecyclerView-v7支持包

    本篇文章主要介紹了詳解如何在Android Studio中添加RecyclerView-v7支持包,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Android實(shí)現(xiàn)酷炫的頂部欄

    Android實(shí)現(xiàn)酷炫的頂部欄

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)酷炫的頂部欄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Android開發(fā)技巧之ViewStub控件惰性裝載

    Android開發(fā)技巧之ViewStub控件惰性裝載

    布局文件中的控件并不一定在程序啟動(dòng)時(shí)全都用到,有一些控件只在特定的情況下才會(huì)被使用到;我們急需一種機(jī)制來(lái)改變<include>標(biāo)簽的這種行為,只在需要時(shí)裝載控件。這種機(jī)制就是本節(jié)要介紹的ViewStub控件
    2013-01-01
  • Android截取指定View為圖片的實(shí)現(xiàn)方法

    Android截取指定View為圖片的實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了Android截取指定View為圖片的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Android事件分發(fā)機(jī)制?ViewGroup分析

    Android事件分發(fā)機(jī)制?ViewGroup分析

    這篇文章主要介紹了Android事件分發(fā)機(jī)制?ViewGroup分析,事件分發(fā)從手指觸摸屏幕開始,即產(chǎn)生了觸摸信息,被底層系統(tǒng)捕獲后會(huì)傳遞給Android的輸入系統(tǒng)服務(wù)IMS,更多相關(guān)介紹,需要的朋友可以參考一下
    2022-09-09
  • 詳解Android 8.1.0 Service 中 彈出 Dialog的方法

    詳解Android 8.1.0 Service 中 彈出 Dialog的方法

    這篇文章主要介紹了Android 8.1.0 Service 中怎么彈出 Dialog問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Android UI使用HTML布局方法實(shí)例

    Android UI使用HTML布局方法實(shí)例

    這篇文章主要介紹了Android UI使用HTML布局方法實(shí)例,布局文件直接用一個(gè)WebView來(lái)代替,這樣就可以在WebView中使用HTML布局了,需要的朋友可以參考下
    2015-05-05
  • Android實(shí)現(xiàn)微信自動(dòng)向附近的人打招呼(AccessibilityService)

    Android實(shí)現(xiàn)微信自動(dòng)向附近的人打招呼(AccessibilityService)

    這篇文章主要為大家詳細(xì)介紹了實(shí)現(xiàn)微信自動(dòng)向附近的人打招呼,實(shí)現(xiàn)收到指定賬戶推送文章時(shí)自動(dòng)進(jìn)入微信打開鏈接,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 詳解Android使用Html.fromHtml需要注意的地方

    詳解Android使用Html.fromHtml需要注意的地方

    本篇文章主要介紹了詳解Android使用Html.fromHtml需要注意的地方,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Flutter中實(shí)現(xiàn)交互式Webview的方法詳解

    Flutter中實(shí)現(xiàn)交互式Webview的方法詳解

    Flutter是一款強(qiáng)大的跨平臺(tái)移動(dòng)應(yīng)用開發(fā)框架,而Webview則是在應(yīng)用中展示W(wǎng)eb內(nèi)容的重要組件,本文將介紹如何在Flutter應(yīng)用中實(shí)現(xiàn)交互式的Webview,快跟隨小編一起學(xué)習(xí)一下吧
    2023-09-09

最新評(píng)論