溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mobAndroid免費(fèi)驗(yàn)證短信

發(fā)布時(shí)間:2020-07-01 12:20:23 來(lái)源:網(wǎng)絡(luò) 閱讀:1010 作者:飛指 欄目:移動(dòng)開(kāi)發(fā)

一、 得到用戶Appkey 和App Secret 

1、 在Eclipse中創(chuàng)建新項(xiàng)目(Android Studio相同)記下包名,包名在mob后臺(tái)創(chuàng)建應(yīng)用的時(shí)候需要。這個(gè)一定要切記!

mobAndroid免費(fèi)驗(yàn)證短信

2、 登陸mob.com短信驗(yàn)證平臺(tái) 開(kāi)發(fā)者服務(wù)平臺(tái)注冊(cè)成為開(kāi)發(fā)者,并創(chuàng)建應(yīng)用。

1)選擇系統(tǒng)的版本,Android或者ios;

2)填寫(xiě)應(yīng)用名稱,下載地址,選擇應(yīng)用的詳細(xì)分類(lèi);

3)在開(kāi)發(fā)模式完成后,正式上線的時(shí)候還需要上傳應(yīng)用的簽名,這里就用到了上面的包名,最好不要后期修改,否則很是麻煩,需要做大篇幅的修改。

mobAndroid免費(fèi)驗(yàn)證短信

3、 得到用戶Appkey 和App Secret ,在你創(chuàng)建了新的應(yīng)用的時(shí)候他會(huì)給出你對(duì)應(yīng)的應(yīng)用的Appkey 和App Secret。如果后期需要再進(jìn)入mob.com查看Appkey 和App Secret的時(shí)候就需要點(diǎn)擊對(duì)應(yīng)的應(yīng)用名字---應(yīng)用管理----應(yīng)用信息,在這里可以看到應(yīng)

用的所有信息,并且也可以對(duì)應(yīng)用的部分信息進(jìn)行修改。

mobAndroid免費(fèi)驗(yàn)證短信

4、 下載SDK,地址:http://sms.mob.com/Download

 下載的壓縮包,解壓后就能得到兩個(gè)文件,一個(gè)是官方提供的sample,另一個(gè)是需要在自己項(xiàng)目中引用的項(xiàng)目文件。

二、 客戶端配置

1、 從官方下載的sdk中導(dǎo)入eclipse,把SMSSDK這個(gè)項(xiàng)目整體導(dǎo)入eclipse,并把它作為library在自己所創(chuàng)建的項(xiàng)目中引用。其中SMSSDK是官方提供的一個(gè)引用資源文件,這個(gè)是目前常見(jiàn)的一種方式,因?yàn)檫@樣省去了在自己的項(xiàng)目中大量的添加jar包,造成本身項(xiàng)目的體積不斷膨脹變大,使其加載速度變慢,同時(shí)還會(huì)因?yàn)橛械膉ar包只是用到里面的很少一部分,但是卻添加的是整個(gè)jar包,造成體積冗余,資源浪費(fèi)。

導(dǎo)入:

mobAndroid免費(fèi)驗(yàn)證短信

引用:

按照以下步驟一步步的把需要用到的資源文件引用到自己的項(xiàng)目

Window--------preferences---------android ---- 右側(cè)library-------Add ------ 選擇 SMSSDK----------Apply---------ok

mobAndroid免費(fèi)驗(yàn)證短信

2、打開(kāi)配置文件,添加相應(yīng)的權(quán)限

其中有比較常見(jiàn)的網(wǎng)絡(luò)權(quán)限,通訊錄權(quán)限,短信權(quán)限等

這些直接復(fù)制,黏貼進(jìn)自己的項(xiàng)目就可以,都是必須要的,沒(méi)什么可說(shuō)的

<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" />


3、在application中添加mob.com的Activity,這個(gè)是在官方類(lèi)庫(kù)中提供的,但是因?yàn)樵趥€(gè)人項(xiàng)目中需要調(diào)用,所以需要在配置文件中單獨(dú)聲明一下。

這個(gè)要特別提醒一下,千萬(wàn)不要忘了,不然會(huì)提示空指針異?;蛘呤菦](méi)有找到cn.smssdk.SMSSDKUIShell,這樣你的項(xiàng)目就不能運(yùn)行了,如果出現(xiàn)了這樣的錯(cuò)誤提示,可以直接到配置文件中看看有沒(méi)有漏掉這一步。

<activity

   android:name="cn.smssdk.SMSSDKUIShell"

   android:configChanges="keyboardHidden|orientation|screenSize"

   android:theme="@android:style/Theme.Translucent.NoTitleBar"

   android:windowSoftInputMode="stateHidden|adjustResize" />

下面的也是在配置文件中需要聲明的,不過(guò)這個(gè)是他們官方用來(lái)進(jìn)行統(tǒng)計(jì)數(shù)據(jù)用得到的

<!-- 統(tǒng)計(jì)用,service用于保證一定能夠向服務(wù)器上傳數(shù)據(jù) -->

<service

android:name="cn.sharesdk.analysis.server.RemoteService"

    android:process=":remote" />

三、方法調(diào)用

初始化短信SDK

private void init() {

MyUtils.initInfor(this);

  

SMSSDK.initSDK(this, app_key, app_secret);

final Handler handler = new Handler(this);

EventHandler eventHandler = new EventHandler() {

public void afterEvent(int event, int result, Object data) {

Message msg = new Message();

msg.arg1 = event;

msg.arg2 = result;

msg.obj = data;

handler.sendMessage(msg);

}

};

// 注冊(cè)回調(diào)監(jiān)聽(tīng)接口

SMSSDK.registerEventHandler(eventHandler);

flag = true;

  

// 獲取新好友個(gè)數(shù)

showDialog();

SMSSDK.getNewFriendsCount();

  

}

請(qǐng)求短信驗(yàn)證碼

btn.setOnClickListener(new View.OnClickListener() {

 

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

str_phone = phone.getText().toString();

if(str_phone.equals(""))

{

Toast.makeText(getApplicationContext(), "請(qǐng)輸入手機(jī)號(hào)",Toast.LENGTH_SHORT).show();

}

else if(!MyUtils.isMobileNO(str_phone))

{

Toast.makeText(getApplicationContext(), "請(qǐng)輸入正確的手機(jī)號(hào)格式",Toast.LENGTH_SHORT).show();

}

else

{

// 下面的代碼就是調(diào)用sdk的發(fā)送短信的方法,其中的“86”是官方中定義的,代表中國(guó)的意思

// 第二個(gè)參數(shù)表示的是需要發(fā)送短信的手機(jī)號(hào)

SMSSDK.getVerificationCode("86", str_phone);

str_str_phone = str_phone;

 

//發(fā)送短信之后驗(yàn)證碼的按鈕才能激活

btn_.setBackgroundColor(0xff000000);

btn_.setClickable(true);

 

//10秒鐘內(nèi)不可重點(diǎn)此按鈕

time.start(); 

 

}

 

}

});

驗(yàn)證短信驗(yàn)證碼是否正確

SMSSDK.submitVerificationCode("86", str_str_phone,str_captcha);

EventHandler eh=new EventHandler()

{

@Override

public void afterEvent(int event, int result, Object data) {

  

   if (result == SMSSDK.RESULT_COMPLETE) 

   {

   runOnUiThread(new Runnable()

{

public void run()

{

Toast.makeText(getApplicationContext(), "驗(yàn)證成功!你可以修改密碼了",Toast.LENGTH_SHORT).show();

btn_.setBackgroundColor(0xffcccccc);

btn_.setClickable(false);

}

});

   }

   else

   {  

   runOnUiThread(new Runnable()

{

public void run()

{

Toast.makeText(getApplicationContext(), "驗(yàn)證碼錯(cuò)誤!",Toast.LENGTH_SHORT).show();

btn_.setBackgroundColor(0xffcccccc);

btn_.setClickable(false);

}

});

   ((Throwable)data).printStackTrace(); 

   }

}; 

SMSSDK.registerEventHandler(eh); //注冊(cè)短信回

判斷字符串是不是手機(jī)號(hào)碼的正則表達(dá)式

public static boolean isMobileNO(String mobiles) {

/*

 * 移動(dòng):134、135、136、137、138、139、150、151、157(TD)、158、159、187、188

 * 聯(lián)通:130、131、132、152、155、156、185、186 電信:133、153、180、189、(1349衛(wèi)通)

 * 總結(jié)起來(lái)就是第一位必定為1,第二位必定為3或5或8,其他位置的可以為0-9

 */

String telRegex = "[1][3578]\\d{9}";// "[1]"代表第1位為數(shù)字1,"[358]"代表第二位可以為3、5、8中的一個(gè),"\\d{9}"代表后面是可以是0~9的數(shù)字,有9位。

if (TextUtils.isEmpty(mobiles))

return false;

else

return mobiles.matches(telRegex);

}

打開(kāi)通信錄好友列表頁(yè)面

//這個(gè)界面的sdk自帶風(fēng)格不難看,沒(méi)有修改必要

private void openFriendsUI() {

ContactsPage contactsPage = new ContactsPage();

contactsPage.show(this);

}

防止多次請(qǐng)求驗(yàn)證碼的計(jì)時(shí)器

private Button checking;

  

public TimeCount(long millisInFuture, long countDownInterval,Button checking) 

{

super(millisInFuture, countDownInterval);//參數(shù)依次為總時(shí)長(zhǎng),和計(jì)時(shí)的時(shí)間間隔

this.checking = checking; 

}

 

@Override

public void onFinish() 

{

//計(jì)時(shí)完畢時(shí)觸發(fā)

checking.setText("重新驗(yàn)證");

checking.setClickable(true);

checking.setBackgroundColor(0xff000000);

}

  

@Override

public void onTick(long millisUntilFinished){

//計(jì)時(shí)過(guò)程顯示

checking.setClickable(false);

checking.setBackgroundColor(0xffcccccc);

checking.setText(millisUntilFinished /1000+"秒后重新驗(yàn)證");

}

主要功能

本服務(wù)的主要功能是發(fā)送短信驗(yàn)證碼和獲取聯(lián)系人列表

mobAndroid免費(fèi)驗(yàn)證短信

1、發(fā)送短信驗(yàn)證碼

選擇國(guó)家,輸入手機(jī)號(hào),就能得到短信驗(yàn)證碼

無(wú)需與短信平臺(tái)合作的繁瑣手續(xù),SDK快速集成,集成便捷。省去了自己去跟運(yùn)營(yíng)商談合作,談接口等各種繁瑣的步驟

先試試發(fā)短信功能,會(huì)提示你要發(fā)送的某個(gè)手機(jī)的手機(jī)號(hào),這里是提示你乙方發(fā)錯(cuò)了,就是一個(gè)最終的確定,如果不正確可以取消小,重新輸入正確的手機(jī)號(hào)碼。

如果點(diǎn)擊 好  這時(shí)SDK就會(huì)向服務(wù)器提交請(qǐng)求,然后服務(wù)器根據(jù)你提交的信息發(fā)送短信到指定手機(jī)上,從而實(shí)現(xiàn)手機(jī)的定點(diǎn)短信發(fā)送。向服務(wù)器發(fā)送請(qǐng)求后,準(zhǔn)備接收短信,這里有個(gè)緩沖界面,因?yàn)榘l(fā)送短信畢竟也需要一個(gè)時(shí)間間隔,同時(shí)也不能一直不間斷的發(fā)送,那樣就成了垃圾短信了,也不符合我們的初衷。

mobAndroid免費(fèi)驗(yàn)證短信

mobAndroid免費(fèi)驗(yàn)證短信

接收到了短信,最終的結(jié)果出現(xiàn)了,這個(gè)就是我們的終極結(jié)果,短信。得到了短信就有了驗(yàn)證碼,我們就可以在我們的app中實(shí)現(xiàn)自己需求,完成相應(yīng)的功能效果。

mobAndroid免費(fèi)驗(yàn)證短信

2、邀請(qǐng)通訊錄好友使用app,這個(gè)是獲取通訊錄聯(lián)系人列表后的結(jié)果,可以讀取到手機(jī)上的所有聯(lián)系人,極大的方便了app的推廣,快速匹配通訊錄好友,建立自己的朋友圈。

 

mobAndroid免費(fèi)驗(yàn)證短信


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI