一 获取短信验证码里面的信息
以下是访问短信数据库的uri
content://sms/ 所有短信
content://sms/inbox 收件箱
content://sms/sent 已发送
content://sms/draft 草稿
content://sms/outbox 发件箱
content://sms/failed 发送失败
content://sms/queued 待发送列表
× _id:短信序号,如100
* thread_id:对话的序号,如100,与同一个手机号互发的短信,其序号是相同的
* address:发件人地址,即手机号,如+8613811810000
* person:发件人,如果发件人在通讯录中则为具体姓名,陌生人为null
* date:日期,long型,如1256539465022,可以对日期显示格式进行设置
* protocol:协议0SMS_RPOTO短信,1MMS_PROTO彩信
* read:是否阅读0未读,1已读
* status:短信状态-1接收,0complete,64pending,128failed
* type:短信类型1是接收到的,2是已发出
* body:短信具体内容
* service_center:短信服务中心号码编号,如+8613800755500
String num="18394668672";
ContentResolver cr = getContentResolver();
String[] projection = new String[] {"address" ,"date"};//"_id", "address", "person",, "date", "type
String where = " address = "+num ;
// String where = " address = '18394668672' " ;
// String where = " date > "
// + (System.currentTimeMillis() - 10 * 60 * 1000);
Cursor cur = cr.query(SMS_INBOX, projection, where, null, "date desc");
if (null == cur)
return;
if (cur.moveToNext()) {
String date=cur.getString(cur.getColumnIndex("date"));
long l=Long.parseLong(date);
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );
mTextView.setText(format.format(l));
//这里我是要获取自己短信服务号码中的验证码~~
// Pattern pattern = Pattern.compile(" [a-zA-Z0-9]{10}");
// Matcher matcher = pattern.matcher(body);
// if (matcher.find()) {
// String res = matcher.group().substring(1, 11);
// }
}
}