欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)現(xiàn)自動提取短信驗(yàn)證碼功能

 更新時間:2021年08月26日 11:18:50   投稿:lijiao  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)自動提取短信驗(yàn)證碼功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例講解了Android自動提取短信驗(yàn)證碼解決方案,分享給大家供大家參考,具體內(nèi)容如下

主要功能及優(yōu)點(diǎn)

1.收到驗(yàn)證碼短信后,自動提取短信中的驗(yàn)證碼填寫到相應(yīng)輸入框
2.可指定一個號碼,只讀取與他有關(guān)短信,避免提取來源錯誤
3.利用正則表達(dá)式,可匹配各種類型驗(yàn)證碼

模塊集成關(guān)鍵步驟

將auto_getcode_demo中src包里的SMSContentObserver類復(fù)制到你的項(xiàng)目src包中

   在SMSContentObserver中:
   修改正則表達(dá)式內(nèi)容來匹配自己想要獲取的字符串

private String patternCoder = "\\d{4}";  //正則表達(dá)式

指定一個號碼,只讀取與他有關(guān)的新消息。

private boolean checkPhone(String phone) {
 // TODO Auto-generated method stub  
 String c_phone = "10690032980066";  
 if(c_phone.equals(phone) )
  return true;
 return false;
}

指定一關(guān)鍵字符串,用來確認(rèn)短信內(nèi)容是我們想要去提取的

private boolean checkString(String message){
 if(TextUtils.isEmpty(message))
  return false;
 Pattern p = Pattern.compile("FinalShares"); //這個關(guān)鍵字符串可以自定義
 Matcher matcher = p.matcher(message);
 if(matcher.find())
  return true;
 return false;
}

在MainActivity中:
  注冊內(nèi)容觀察者,用來監(jiān)聽手機(jī)短信的變動

@Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 smsContentObserver = new SMSContentObserver(this, mHandler); // 創(chuàng)建1個對象    
 registerContentObservers() ;         //注冊內(nèi)容觀察者
}
      
private void registerContentObservers() {
 // ”表“內(nèi)容觀察者 ,通過測試我發(fā)現(xiàn)只能監(jiān)聽此Uri -----> content://sms
 // 監(jiān)聽不到其他的Uri 比如說 content://sms/outbox
 Uri smsUri = Uri.parse("content://sms");
 getContentResolver().registerContentObserver(smsUri, true,smsContentObserver);
}

創(chuàng)建一個handler來接收觀察者監(jiān)聽傳來的信息,當(dāng)接收到指定號碼短信時,自動獲得相應(yīng)驗(yàn)證碼并填寫到對應(yīng)控件

private Handler mHandler = new Handler() { 
      
 public void handleMessage(Message msg) { 
  switch (msg.what) { 
   case MSG_OUTBOXCONTENT:
    String outbox = smsContentObserver.getstrContent(); 
    etSmsoutbox.setText(outbox); 
    break; 
   default: 
    break; 
  } 
 } 
};

在AndroidManifest中添加相應(yīng)權(quán)限

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

環(huán)境相關(guān)

開發(fā)平臺:Android

語言: java

開發(fā)工具: eclipse

效果展示

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。

相關(guān)文章

最新評論