日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sharesdk短信验证码的集成

發布時間:2023/12/2 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sharesdk短信验证码的集成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在ShareSDK官網http://mob.com/注冊并創建Android應用.申請APP_key,下載SDK等

根據官網開發文檔導入SDK,目錄結構如下

將以上文件按需放入Android Studio項目所要使用SMSSDK的Module所在的Libs里面,再在Module的build.gradle里面將libs加入倉庫(repositories),
然后添加依賴(dependencies )示例如下:

repositories{flatDir{dirs 'libs' //就是你放aar的目錄地址} } dependencies {....//你的其他依賴compile name:'SMSSDK-<version>',ext:'aar'compile name:'SMSSDKGUI-<version>',ext:'aar' }

?添加權限:

   <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:

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

?代碼實現:

初始化工作:

SMSSDK.initSDK(this, "您的appkey", "您的appsecret");

?如果使用默認的短信注冊頁面可以用以下代碼實現:

//打開默認注冊頁面 RegisterPage registerPage = new RegisterPage(); registerPage.setRegisterCallback(new EventHandler() {public void afterEvent(int event, int result, Object data) {// 解析注冊結果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(context);

?自定義UI實現手機注冊短信驗證:

package com.loaderman.smssdkdemo;import android.app.ProgressDialog; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.EditText; import android.widget.Toast;import java.util.HashMap;import cn.smssdk.EventHandler; import cn.smssdk.SMSSDK;public class MainActivity extends AppCompatActivity {private EditText et_number;private String number;private EditText et_security;private ProgressDialog dialog;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//SMSSDK.initSDK(this, "您的appkey", "您的appsecret");//初始化工作,建議放在自己的Application的onCreate方法中SMSSDK.initSDK(this, "1beb22f8862dc", "df387854c513ca138cd23d53cf33cec3");et_number = (EditText) findViewById(R.id.et_phone);et_security = (EditText) findViewById(R.id.et_security);//注冊短信回調監聽SMSSDK.registerEventHandler(ev); }/*** 短信驗證的回調監聽*/private EventHandler ev = new EventHandler() {@Overridepublic void afterEvent(int event, int result, Object data) {if (result == SMSSDK.RESULT_COMPLETE) { //回調完成//提交驗證碼成功,如果驗證成功會在data里返回數據。data數據類型為HashMap<number,code>if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {Log.e("TAG", "提交驗證碼成功" + data.toString());HashMap<String, Object> mData = (HashMap<String, Object>) data;String country = (String) mData.get("country");//返回的國家編號String phone = (String) mData.get("phone");//返回用戶注冊的手機號Log.e("TAG", country + "====" + phone);if (phone.equals(number)) {runOnUiThread(new Runnable() {//更改ui的操作要放在主線程,實際可以發送hander@Overridepublic void run() {showDailog("恭喜你!通過驗證");dialog.dismiss();// Toast.makeText(MainActivity.this, "通過驗證", Toast.LENGTH_SHORT).show();}});} else {runOnUiThread(new Runnable() {@Overridepublic void run() {showDailog("驗證失敗");dialog.dismiss();// Toast.makeText(MainActivity.this, "驗證失敗", Toast.LENGTH_SHORT).show();}});}} else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE) {//獲取驗證碼成功Log.e("TAG", "獲取驗證碼成功");} else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES) {//返回支持發送驗證碼的國家列表}} else {((Throwable) data).printStackTrace();}}};//驗證結果彈窗private void showDailog(String text) {new AlertDialog.Builder(this).setTitle(text).setPositiveButton("確定", null).show();}/*** 獲取驗證碼* @param v*/public void getSecurity(View v) {number = et_number.getText().toString().trim();//發送短信,傳入國家號和電話---使用SMSSDK核心類之前一定要在MyApplication中初始化,否側不能使用if (TextUtils.isEmpty(number)) {Toast.makeText(this, "號碼不能為空!", Toast.LENGTH_SHORT).show();} else {SMSSDK.getVerificationCode("+86", number);Toast.makeText(this, "發送成功:" + number, Toast.LENGTH_SHORT).show();}}/*** 向服務器提交驗證碼,在監聽回調中判斷是否通過驗證* @param v*/public void testSecurity(View v) {String security = et_security.getText().toString();if (!TextUtils.isEmpty(security)) {dialog = ProgressDialog.show(this, null, "正在驗證...", false, true);//提交短信驗證碼SMSSDK.submitVerificationCode("+86", number, security);//國家號,手機號碼,驗證碼Toast.makeText(this, "提交了注冊信息:" + number, Toast.LENGTH_SHORT).show();} else {Toast.makeText(this, "驗證碼不能為空", Toast.LENGTH_SHORT).show();}}@Overrideprotected void onDestroy() {super.onDestroy();//要在activity銷毀時反注冊,否側會造成內存泄漏問題SMSSDK.unregisterAllEventHandler();} }

?activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="10dp"tools:context="com.loaderman.smssdkdemo.MainActivity"><EditTextandroid:id="@+id/et_phone"android:background="#ccc"android:hint="請輸入手機號碼"android:inputType="phone"android:padding="5dp"android:layout_width="match_parent"android:layout_height="wrap_content"/><EditTextandroid:id="@+id/et_security"android:layout_marginTop="10dp"android:background="#ccc"android:hint="請輸入短信驗證碼"android:inputType="phone"android:padding="5dp"android:layout_width="match_parent"android:layout_height="wrap_content"/><Buttonandroid:onClick="getSecurity"android:id="@+id/btn_get"android:layout_width="match_parent"android:text="獲取驗證碼"android:layout_height="wrap_content"/><Buttonandroid:onClick="testSecurity"android:id="@+id/btn_register"android:layout_width="match_parent"android:text="注冊"android:layout_height="wrap_content"/> </LinearLayout>

?效果圖:

轉載于:https://www.cnblogs.com/loaderman/p/6520382.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的sharesdk短信验证码的集成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。