android获取短信并自动填充

简介: package com.velo.quanquan.util;import java.util.regex.Matcher;import java.util.regex.Pattern;import net.iaf.framework.util.Loger;import android.app.Activity;import android.database.ContentO
package com.velo.quanquan.util;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import net.iaf.framework.util.Loger;
import android.app.Activity;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
import android.widget.EditText;

/**
 * 读取短信内容 自动填充验证码
 *
 * @author qjx
 *
 */
public class SmsContentUtil extends ContentObserver {

	public static final String SMS_URI_INBOX = "content://sms/inbox";

	private Activity activity = null;

	private String smsContent = "";

	private EditText verifyText = null;

	public SmsContentUtil(Handler handler) {
		super(handler);
	}

	public SmsContentUtil(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.getContentResolver().query(Uri.parse(SMS_URI_INBOX), new String[] {
			"_id", "address", "body", "read", "date" }, "address=? and read=?",
			new String[] { "15555215554", "0" }, "date desc");

		if (cursor != null) {// 如果短信为未读模式
			cursor.moveToFirst();
			if (cursor.moveToFirst()) {

				String smsbody = cursor
						.getString(cursor.getColumnIndex("body"));
				Loger.e("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);
				verifyText.setSelection(verifyText.getText().toString().trim().length());
			}

		}
	}

}

调用该方法的地方的代码:

SmsContentUtil smsContent = new SmsContentUtil(LoginActivity.this, new Handler(), verifyText);

 // 注册短信变化监听
  this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, smsContent );

目录
相关文章
|
11月前
|
存储 API Android开发
Android接收短信-createFromPdu
Android接收短信-createFromPdu
105 0
Android--短信拦截及IP拨号
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/51025730 public ...
844 0
|
Android开发
android批量发送短信
快过年了,自己写了个android批量发送短信,短信前面添加人名,用来节日发短信,这样别人就不知道我是批量发送的了哈哈哈,当然写的很菜,刚开始玩这个敬请指教  短信发送后去短信列表查看             首先AndroidManifest.
1055 0
|
XML Android开发 数据格式
仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)
效果图如下: 仿微信、短信、来电未接数目、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)。
1042 0
|
网络协议 Android开发 数据库
android开发之来电、短信、广播综合练习
点击(此处)折叠或打开 package com.example.incoming_number; import java.
809 0
|
Java Android开发 监控
Android 获取未读短信未接电话数目
引用:http://blog.csdn.net/zhuangxujun/article/details/7035430 [java] view plaincopy if (mIntentReceiver == null) {               ...
786 0