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;
}

@SuppressWarnings("deprecation")
@Override
public void onChange(boolean selfChange) {
    super.onChange(selfChange);
    Cursor cursor = null;// 光标
    // 读取收件箱中指定号码的短信
    try {
        cursor = activity.managedQuery(Uri.parse(SMS_URI_INBOX), new String[] { "_id", "address", "body", "read" }, "read=?", new String[] { "0" }, "date desc");
        if (cursor != null) {// 如果短信为未读模式
            cursor.moveToFirst();
            if (cursor.moveToFirst()) {
                String smsbody = cursor.getString(cursor.getColumnIndex("body"));
                if (smsbody.contains("车")) {
                    String regEx = "[^0-9]";
                    Pattern p = Pattern.compile(regEx);
                    Matcher m = p.matcher(smsbody.toString());
                    smsContent = m.replaceAll("").trim().toString();
                    verifyText.setText(smsContent);
                    verifyText.setSelection(verifyText.getText().toString().length());
                }
            }
        }
    } catch (Exception e) {
        //如果读取短息过程中出现异常,就不自动填写验证码
        e.printStackTrace();
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值