国产探花免费观看_亚洲丰满少妇自慰呻吟_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通過手機自動獲取短信驗證碼的詳細代碼,希望對大家實現手機自動獲取短信驗證碼有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通道| 濮阳县| 蓬莱市| 镇雄县| 万年县| 南安市| 会理县| 万山特区| 马山县| 凤阳县| 桐庐县| 双流县| 华坪县| 尼玛县| 延长县| 建德市| 盐山县| 万源市| 凉山| 西城区| 定结县| 京山县| 盐津县| 武邑县| 康乐县| 阿坝| 福清市| 越西县| 寿光市| 四川省| 盐源县| 海晏县| 鄂托克旗| 韶山市| 大英县| 鸡西市| 凉城县| 略阳县| 邵东县| 齐河县| 平武县|