Android 短信驗(yàn)證碼自動填寫
更新時間:2017年06月15日 16:45:50 投稿:lqh
這篇文章主要介紹了Android 短信驗(yàn)證碼自動填寫的相關(guān)資料,需要的朋友可以參考下
Android 短信驗(yàn)證碼自動填寫
1.自定義Observer監(jiān)聽短信數(shù)據(jù)庫變化(注意添加短信權(quán)限)
import android.app.Activity; import android.content.ContentResolver; import android.database.ContentObserver; import android.database.Cursor; import android.net.Uri; import android.os.Handler; import android.text.TextUtils; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by 001 on 17/3/22. */ public class SmsObserver extends ContentObserver { public static final String SMS_URI_INBOX = "content://sms/inbox"; private Activity activity = null; private String smsContent = ""; private SmsListener listener; public SmsObserver(Activity activity, Handler handler, SmsListener listener) { super(handler); this.activity = activity; this.listener = listener; } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); Cursor cursor = null; // 讀取收件箱中含有某關(guān)鍵詞的短信 ContentResolver contentResolver = activity.getContentResolver(); cursor = contentResolver.query(Uri.parse(SMS_URI_INBOX), new String[] { "_id", "address", "body", "read" }, "body like ? and read=?", new String[] { "%關(guān)鍵詞%", "0" }, "date desc"); if (cursor != null) { cursor.moveToFirst(); if (cursor.moveToFirst()) { String smsbody = cursor .getString(cursor.getColumnIndex("body")); String regEx = "[^0-9]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(smsbody.toString()); smsContent = m.replaceAll("").trim().toString(); if (!TextUtils.isEmpty(smsContent)) { listener.onResult(smsContent); } } } } /* * 短信回調(diào)接口 */ public interface SmsListener { /** * 接受sms狀態(tài) * * @Title: onResult */ void onResult(String smsContent); } }
2.使用:
SmsObserver smsObserver = new SmsObserver(this, new Handler(), new SmsObserver.SmsListener() { @Override public void onResult(String smsContent) { //根據(jù)需求寫 //如:editText.setText(smsContent); } });this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, smsObserver);
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:
- Android實(shí)現(xiàn)自動填充短信驗(yàn)證碼
- Android開發(fā)工程中集成mob短信驗(yàn)證碼功能的方法
- Android獲取和讀取短信驗(yàn)證碼的實(shí)現(xiàn)方法
- Android實(shí)現(xiàn)短信驗(yàn)證碼獲取自動填寫功能(詳細(xì)版)
- Android開發(fā)中通過手機(jī)號+短信驗(yàn)證碼登錄的實(shí)例代碼
- Android實(shí)現(xiàn)獲取短信驗(yàn)證碼并自動填寫功能
- Android利用CursorLoader實(shí)現(xiàn)短信驗(yàn)證碼自動填寫
- Android實(shí)現(xiàn)短信驗(yàn)證碼自動填寫
- Android實(shí)現(xiàn)自動填寫獲取驗(yàn)證碼功能
- Android短信驗(yàn)證碼自動填寫實(shí)現(xiàn)代碼
相關(guān)文章
Android提高之ListView實(shí)現(xiàn)自適應(yīng)表格的方法
這篇文章主要介紹了Android采用ListView實(shí)現(xiàn)自適應(yīng)表格的方法,比較實(shí)用的功能,需要的朋友可以參考下2014-08-08Android編程實(shí)現(xiàn)Toast自定義布局簡單示例
這篇文章主要介紹了Android編程實(shí)現(xiàn)Toast自定義布局的方法,結(jié)合簡單實(shí)例形式分析了Toast自定義布局的實(shí)現(xiàn)步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-02-02android listview的多列模版實(shí)例代碼
這篇文章主要介紹了android listview的多列模版實(shí)例代碼的相關(guān)資料,這里附有實(shí)例代碼,具有參考價值,需要的朋友可以參考下2017-01-01Android 開發(fā)之Dialog中隱藏鍵盤的正確使用方法
這篇文章主要介紹了Android 開發(fā)之Dialog中隱藏鍵盤的正確使用方法的相關(guān)資料,主要說明Dialog 隱藏鍵盤的注意事項,需要的朋友可以參考下2017-09-09