a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 系統 > Android > 正文

Android如何通過手機自動獲取短信驗證碼

2020-01-02 07:02:02
字體:
來源:轉載
供稿:網友

本文實例為大家分享了Android實現手機自動獲取短信驗證碼功能,供大家參考,具體內容如下

1、短信監聽廣播

2、讀取短信內容

3、截取短信內容【可以 reg截取】

4、填寫至相應控件

PS:DevStore測試沒有獲取到驗證碼

源碼片段

public class MainActivity extends Activity {  private BroadcastReceiver smsReceiver;  private IntentFilter filter2;  private Handler handler;  private EditText et;  private String strContent;  private String patternCoder = "(?<!--//d)//d{6}(?!//d)";   @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   et = (EditText) findViewById(R.id.et);   handler = new Handler() {    public void handleMessage(android.os.Message msg) {     et.setText(strContent);    };   };   filter2 = new IntentFilter();   filter2.addAction("android.provider.Telephony.SMS_RECEIVED");   filter2.setPriority(Integer.MAX_VALUE);   smsReceiver = new BroadcastReceiver() {    @Override    public void onReceive(Context context, Intent intent) {     Object[] objs = (Object[]) intent.getExtras().get("pdus");     for (Object obj : objs) {      byte[] pdu = (byte[]) obj;      SmsMessage sms = SmsMessage.createFromPdu(pdu);      // 短信的內容      String message = sms.getMessageBody();      Log.d("logo", "message  " + message);      // 短息的手機號。。+86開頭?      String from = sms.getOriginatingAddress();      Log.d("logo", "from  " + from);      Time time = new Time();      time.set(sms.getTimestampMillis());      String time2 = time.format3339(true);      Log.d("logo", from + " " + message + " " + time2);      strContent = from + " " + message;      handler.sendEmptyMessage(1);      if (!TextUtils.isEmpty(from)) {       String code = patternCode(message);       if (!TextUtils.isEmpty(code)) {        strContent = code;        handler.sendEmptyMessage(1);       }      }     }    }   };   registerReceiver(smsReceiver, filter2);  }   @Override  protected void onDestroy() {   super.onDestroy();   unregisterReceiver(smsReceiver);  }   /**   * 匹配短信中間的6個數字(驗證碼等)   *   * @param patternContent   * @return   */  private String patternCode(String patternContent) {   if (TextUtils.isEmpty(patternContent)) {    return null;   }   Pattern p = Pattern.compile(patternCoder);   Matcher matcher = p.matcher(patternContent);   if (matcher.find()) {    return matcher.group();   }   return null;  } }</pre--> 

文章末尾為大家在分享兩個專題,供大家參考:

《PHP驗證碼大全》

《ASP.NET驗證碼大全》

以上就是Android通過手機自動獲取短信驗證碼的詳細代碼,希望對大家實現手機自動獲取短信驗證碼有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久综合狠狠综合久久综合88 | 国产成人99久久亚洲综合精品 | 国产精品不卡视频 | 人人做人人爽 | 欧美日韩不卡合集视频 | 亚洲精品视频免费看 | 九九久久九九 | 久久99精品久久久水蜜桃 | 日韩一区二区在线免费观看 | 亚洲三级视频 | 国产精品片www48888 | 黄a视频| 精品久久久久久久久久久久久久久 | 黄a在线| 在线播放黄色 | 国产精品久久久久久久久久久久久久 | 欧美在线一区二区三区 | 久久精品99国产精品酒店日本 | 一区二区在线免费观看 | 98久久久| 亚洲综合色视频在线观看 | 欧美日本韩国一区二区 | 91成人在线免费视频 | 国产一区二区三区视频在线观看 | 五月天色视频 | 亚洲免费一区二区 | 亚洲精品一区二区在线观看 | 日韩欧美精品在线观看 | 国产三区在线成人av | 国产视频一区二区在线 | 国产精品91久久久久 | 欧美中文字幕 | 久久性| 人人干人人干人人干 | 国产精品成人免费视频 | 日韩激情一区二区 | 中文字幕二区 | 久久久久久久久久国产 | 精品日本一区二区 | 成人精品在线 | 国产91在线免费观看 |