Android自動(dòng)獲取輸入短信驗(yàn)證碼庫(kù)AutoVerifyCode詳解
一、簡(jiǎn)介
Android的短信驗(yàn)證碼自動(dòng)輸入庫(kù),內(nèi)嵌自動(dòng)申請(qǐng)權(quán)限,兼容性高,支持多項(xiàng)配置。
短信驗(yàn)證碼長(zhǎng)度
驗(yàn)證碼類(lèi)型(大寫(xiě)字母、小寫(xiě)字母、大小寫(xiě)字母、數(shù)字、數(shù)字字母)
短信內(nèi)容過(guò)濾
發(fā)送者號(hào)碼過(guò)濾
短信權(quán)限回調(diào),失敗重新操作等等
消息回調(diào),可自行處理
Github地址: https://github.com/tpnet/AutoVerifyCode
二、使用
2.1 最簡(jiǎn)單的使用
適用在驗(yàn)證碼為數(shù)字,而且驗(yàn)證碼為4-6位。
AutoVerifyCode.getInstance() .with(MainActivity.this) .into(R.id.et_code) //要輸入的編輯框 .start(); //開(kāi)始
2.2 多種屬性配置
/** * 多種屬性設(shè)置 * @param v */ public void complex(View v){ AutoVerifyCodeConfig config = new AutoVerifyCodeConfig.Builder() .codeLength(6) // 驗(yàn)證碼長(zhǎng)度 .smsCodeType(AutoVerifyCodeConfig.CODE_TYPE_NUMBER) //驗(yàn)證碼類(lèi)型 .smsSenderStart("650") // 驗(yàn)證碼發(fā)送者號(hào)碼的前幾位數(shù)字 .smsSender("6505551212") // 驗(yàn)證碼發(fā)送者的號(hào)碼 .smsBodyStartWith("【守護(hù)APP】") // 設(shè)置驗(yàn)證碼短信開(kāi)頭文字,固定可以設(shè)置 .smsBodyContains("重置") // 設(shè)置驗(yàn)證碼短信內(nèi)容包含文字,每個(gè)功能包含不一樣,例如注冊(cè)、重置密碼 .build(); AutoVerifyCode.getInstance() .with(MainActivity.this) .config(config) //驗(yàn)證碼選項(xiàng)配置 .smsCallback(new MessageCallBack()) //短信內(nèi)容回調(diào) .permissionCallback(new PerCallBack()) //短信短信回調(diào) .inputCompleteCallback(new OnInputCompleteListener() { @Override public void onInputComplete(String text) { //自動(dòng)輸入完畢,可以進(jìn)行登錄等等操作 Log.e("@@","自動(dòng)輸入驗(yàn)證碼完成"+text); } }) .into((EditText) findViewById(R.id.et_code)) //要輸入的View .start(); //開(kāi)始 } /** * 獲取短信回調(diào)接口 * */ class MessageCallBack extends SmsCallBack{ @Override public void onGetCode(String code) { Log.e("@@","驗(yàn)證碼為:"+code); } @Override public void onGetMessage(String mess) { Log.e("@@","短信內(nèi)容為:"+mess); } @Override public void onGetSender(@Nullable String phoneNumber) { Log.e("@@","發(fā)送者為:"+phoneNumber); } } class PerCallBack implements PermissionCallBack{ @Override public void onSuccess() { //獲取短信權(quán)限成功 Log.e("@@","獲取短信權(quán)限成功:"); } @Override public boolean onFail() { //獲取短信權(quán)限失敗 Toast.makeText(MainActivity.this,"拒絕獲取短信權(quán)限",Toast.LENGTH_SHORT).show(); Log.e("@@","獲取短信權(quán)限失敗,返回真則重試獲取權(quán)限,或者你自己手動(dòng)獲取了之后再返回真也行"); return false; } }
2.3 釋放
因?yàn)橐话阒挥靡淮?所以在頁(yè)面銷(xiāo)毀的地方釋放內(nèi)存。
@Override protected void onDestroy() { super.onDestroy(); //因?yàn)橐话阒挥靡淮?,所以?yè)面銷(xiāo)毀就釋放。 AutoVerifyCode.getInstance().release(); }
三、原理
主要利用兩種方法獲取短信
短信數(shù)據(jù)庫(kù)監(jiān)聽(tīng): 見(jiàn)SmsObserver
短信廣播監(jiān)聽(tīng): 見(jiàn)SmsReceiver
然后利用Service實(shí)現(xiàn)這兩種方法。注釋都在代碼上面了,挺簡(jiǎn)單的。 就不詳細(xì)講了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android用戶(hù)輸入自動(dòng)提示控件AutoCompleteTextView使用方法
- Android AutoWrapTextView中英文排版問(wèn)題的解決方法
- Android中使用 AutoCompleteTextView 實(shí)現(xiàn)手機(jī)號(hào)格式化附帶清空歷史的操作
- Android自動(dòng)編輯文本框(AutoCompleteTextView)使用方法詳解
- Android中AutoCompleteTextView自動(dòng)提示
- Android仿新浪微博oauth2.0授權(quán)界面實(shí)現(xiàn)代碼(2)
- android中AutoCompleteTextView的簡(jiǎn)單用法(實(shí)現(xiàn)搜索歷史)
- Android仿百度谷歌搜索自動(dòng)提示框AutoCompleteTextView簡(jiǎn)單應(yīng)用示例
- 關(guān)于Android HTML5 audio autoplay無(wú)效問(wèn)題的解決方案
- Android AutoCompleteTextView自動(dòng)提示文本框?qū)嵗a
- Android App開(kāi)發(fā)的自動(dòng)化測(cè)試框架UI Automator使用教程
- Android中AutoCompleteTextView與TextWatcher結(jié)合小實(shí)例
- Android AutoValue使用和擴(kuò)展庫(kù)
相關(guān)文章
Android實(shí)現(xiàn)可拖拽的GridView效果長(zhǎng)按可拖拽刪除數(shù)據(jù)源
這篇文章主要介紹了Android實(shí)現(xiàn)可拖拽的GridView效果長(zhǎng)按可拖拽刪除數(shù)據(jù)源,要實(shí)現(xiàn)的基本功能是長(zhǎng)按,移到垃圾桶,刪除數(shù)據(jù),需要的朋友可以參考下2017-12-12Android 彩色Toast的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 彩色Toast的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
這篇文章主要介紹了Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08詳解android使用ItemDecoration 懸浮導(dǎo)航欄效果
本篇文章主要介紹了Android 最流行的吸頂效果的實(shí)現(xiàn)及代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2017-01-01Android獲取內(nèi)置sdcard跟外置sdcard路徑
這篇文章主要介紹了Android獲取內(nèi)置sdcard跟外置sdcard路徑的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下2017-09-09Android中代碼運(yùn)行指定Apk的簡(jiǎn)單方法
這篇文章主要介紹了Android中代碼運(yùn)行指定Apk的簡(jiǎn)單方法,有需要的朋友可以參考一下2014-01-01Android 檢測(cè)鍵盤(pán)顯示或隱藏鍵盤(pán)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Android 檢測(cè)鍵盤(pán)顯示或隱藏鍵盤(pán)的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-07-07Glide實(shí)現(xiàn)加載圖片顯示進(jìn)度條效果
Glide作為安卓開(kāi)發(fā)常用的圖片加載庫(kù),有許多實(shí)用而且強(qiáng)大的功能,那么,下面這篇文章主要給大家介紹了利用Glide實(shí)現(xiàn)加載圖片顯示進(jìn)度條效果的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下來(lái)一起看看吧。2017-05-05