Android實(shí)現(xiàn)自動(dòng)填寫獲取驗(yàn)證碼功能
本文實(shí)例講解了Android自動(dòng)提取短信驗(yàn)證碼解決方案,分享給大家供大家參考,具體內(nèi)容如下
<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission> <uses-permission android:name="android.permission.READ_SMS"></uses-permission>
package com.dongdongsongcan.app; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.telephony.SmsMessage; import com.su.dolphin.utils.LogUtil; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SMSReceiver extends BroadcastReceiver { public interface ISMSListener { public void onSmsReceive(String verifyCode); } private static ISMSListener mSMSListener; public SMSReceiver(ISMSListener ismsListener) { mSMSListener = ismsListener; } public static final String TAG = "ImiChatSMSReceiver"; //android.provider.Telephony.Sms.Intents public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED"; @Override public void onReceive(Context context, Intent intent) { LogUtil.d(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); if (intent.getAction().equals(SMS_RECEIVED_ACTION)) { SmsMessage[] messages = getMessagesFromIntent(intent); for (SmsMessage message : messages) { // LogUtil.d(message.getOriginatingAddress() + " : " + // // message.getDisplayOriginatingAddress() + " : " + // // message.getDisplayMessageBody() + " : " + // // message.getTimestampMillis()); String msg = message.getDisplayMessageBody(); LogUtil.d("MSG: " + msg); String verifyCode = null; Pattern p = Pattern.compile("\\d{4}"); Matcher m = p.matcher(msg); while (m.find()) { verifyCode = m.group(); break; } LogUtil.d("verifyCode " + verifyCode); if (mSMSListener != null) { mSMSListener.onSmsReceive(verifyCode); } } } } public final SmsMessage[] getMessagesFromIntent(Intent intent) { Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); byte[][] pduObjs = new byte[messages.length][]; for (int i = 0; i < messages.length; i++) { pduObjs[i] = (byte[]) messages[i]; } byte[][] pdus = new byte[pduObjs.length][]; int pduCount = pdus.length; SmsMessage[] msgs = new SmsMessage[pduCount]; for (int i = 0; i < pduCount; i++) { pdus[i] = pduObjs[i]; msgs[i] = SmsMessage.createFromPdu(pdus[i]); } return msgs; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- Android實(shí)現(xiàn)自動(dòng)填充短信驗(yàn)證碼
- Android開發(fā)工程中集成mob短信驗(yàn)證碼功能的方法
- Android獲取和讀取短信驗(yàn)證碼的實(shí)現(xiàn)方法
- Android實(shí)現(xiàn)短信驗(yàn)證碼獲取自動(dòng)填寫功能(詳細(xì)版)
- Android開發(fā)中通過(guò)手機(jī)號(hào)+短信驗(yàn)證碼登錄的實(shí)例代碼
- Android實(shí)現(xiàn)獲取短信驗(yàn)證碼并自動(dòng)填寫功能
- Android 短信驗(yàn)證碼自動(dòng)填寫
- Android利用CursorLoader實(shí)現(xiàn)短信驗(yàn)證碼自動(dòng)填寫
- Android實(shí)現(xiàn)短信驗(yàn)證碼自動(dòng)填寫
- Android短信驗(yàn)證碼自動(dòng)填寫實(shí)現(xiàn)代碼
相關(guān)文章
使用Flutter開發(fā)一個(gè)圖片UI組件的代碼示例
在移動(dòng)應(yīng)用開發(fā)中,圖片展示是一個(gè)常見(jiàn)的需求,為了滿足不同場(chǎng)景的圖片展示需求,我們可以開發(fā)一個(gè)靈活配置的圖片UI組件,本文將介紹如何使用Flutter開發(fā)一個(gè)圖片UI組件,并提供了豐富的配置選項(xiàng),需要的朋友可以參考下2023-09-09android實(shí)現(xiàn)簡(jiǎn)單音樂(lè)播放器
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)簡(jiǎn)單音樂(lè)播放器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12Android CoordinatorLayout高級(jí)用法之自定義Behavior
這篇文章主要介紹了Android CoordinatorLayout高級(jí)用法之自定義Behavior,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02Android編程之SurfaceView學(xué)習(xí)示例詳解
這篇文章主要介紹了Android編程之SurfaceView學(xué)習(xí)示例,結(jié)合實(shí)例分析了SurfaceView的功能、使用方法與注意事項(xiàng),具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android接入ffmpeg庫(kù)及問(wèn)題解決方法
這篇文章主要介紹了Android接入ffmpeg庫(kù)的相關(guān)知識(shí),文中提到了交叉編譯ffmpeg+libx264+libfdk-aac的問(wèn)題及問(wèn)題解決方法,需要的朋友可以參考下2022-03-03內(nèi)存泄露導(dǎo)致Android?中setVisibility()?失效原理
這篇文章主要介紹了內(nèi)存泄露導(dǎo)致Android?中setVisibility()?失效原理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-07-07Android自定義UI手勢(shì)密碼改進(jìn)版源碼下載
這篇文章主要介紹了Android自定義UI手勢(shì)密碼改進(jìn)版,為大家提供了手勢(shì)密碼源碼下載,,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下2016-10-10基于Flutter實(shí)現(xiàn)圖片選擇和圖片上傳
Flutter?的圖片選擇插件很多,包括了官方的?image_picker,multi_image_picker(基于2.0出了?multi_image_picker2)等等。本文將利用這些插件實(shí)現(xiàn)圖片選擇和圖片上傳,需要的可以參考一下2022-03-03Android中如何優(yōu)雅的處理重復(fù)點(diǎn)擊實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Android中如何優(yōu)雅的處理重復(fù)點(diǎn)擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09Android控制文本輸入框最多輸入10個(gè)字符長(zhǎng)度
這篇文章主要為大家詳細(xì)介紹了Android控制文本輸入框最多輸入10個(gè)字符長(zhǎng)度,即最多輸入5個(gè)漢字,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10