編輯:關於Android編程
本文實例為大家分享了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通過手機自動獲取短信驗證碼的詳細代碼,希望對大家實現手機自動獲取短信驗證碼有所幫助。
在我的上一篇文章Android Service淺析(上)介紹了服務的基本概念及啟動服務的相關內容,由於文章篇幅的原因,將在本文繼續梳理Service相關的其它知識。綁定L
在上家干了快2年辭職後在家休息了快一個月了,說實在的不上班的感覺爽(睡覺睡到自然醒,游戲玩到手抽筋)。哈哈,又是快到一年過中秋的時候了,好久沒有更新博客了,今天順便撸一篇
最近很多人在玩一個《貪吃蛇大作戰》的游戲,以前小時候也經常在文曲星上玩貪吃蛇這個小游戲,於是自己就試著寫一個傳統的貪吃蛇游戲來玩玩,先寫了一個簡單demo。我們知道小蛇是
分享一個下拉刷新的解決辦法,效果圖: Main.java: package example.com.list; import