Android获得短信中的验证码并自动填充

public class SmsContent extends ContentObserver { public static final String SMS_URI_INBOX = "content://sms/inbox"; private Activity activity = null; private String smsContent = ""; private EditText verifyText = null; public SmsContent(Activity activity, Handler handler, EditText verifyText) { super(handler); this.activity = activity; this.verifyText = verifyText; } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); Cursor cursor = null;// 光标 // 读取收件箱中指定号码的短信 cursor = activity.managedQuery(Uri.parse(SMS_URI_INBOX), new String[] { "_id", "address", "body", "read" }, "address=? and read=?",new String[] { "5554", "0" }, "date desc"); if (cursor != null) {// 如果短信为未读模式 cursor.moveToFirst(); if (cursor.moveToFirst()) {String smsbody = cursor.getString(cursor.getColumnIndex("body"));System.out.println("smsbody=======================" + smsbody);String regEx = "[^0-9]";Pattern p = Pattern.compile(regEx);Matcher m = p.matcher(smsbody.toString());smsContent = m.replaceAll("").trim().toString();verifyText.setText(smsContent); } } }}

在调用功能的地方使用代码:

SmsContent content = new SmsContent(LoginActivity.this, new Handler(), verifyText); // 注册短信变化监听 this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);

,人之所以有一张嘴,而有两只耳朵,原因是听的要比说的多一倍。

Android获得短信中的验证码并自动填充

相关文章:

你感兴趣的文章:

标签云: