国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > 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通過手機自動獲取短信驗證碼的詳細代碼,希望對大家實現手機自動獲取短信驗證碼有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安阳市| 湄潭县| 东方市| 兴安盟| 会同县| 石屏县| 武清区| 天台县| 临沂市| 云林县| 静海县| 武功县| 富源县| 昭平县| 赣州市| 宁河县| 旺苍县| 夏邑县| 鄂尔多斯市| 霍州市| 怀仁县| 天等县| 鄂温| 博爱县| 鲁甸县| 互助| 勃利县| 英山县| 紫阳县| 峨眉山市| 旅游| 奇台县| 佛坪县| 浦城县| 长治市| 灵宝市| 夏邑县| 沁阳市| 宣恩县| 百色市| 来宾市|