Android 获取手机短信

一、添加权限

<uses-permission android:name="android.permission.READ_SMS" />  

二、获取手机短信代码

    /**
     * 获取手机短信内容
     * @return
     */
	public String getSmsInPhone() {
		final String SMS_URI_ALL = "content://sms/"; 		//所有短信
		final String SMS_URI_INBOX = "content://sms/inbox";	//收信箱
		final String SMS_URI_SEND = "content://sms/sent";	//发信箱
		final String SMS_URI_DRAFT = "content://sms/draft";	//草稿箱
		StringBuilder smsBuilder = new StringBuilder();
		try {
			ContentResolver cr = getContentResolver();
			String[] projection = new String[] { "_id", "address", "person",
					"body", "date", "type" };
			Uri uri = Uri.parse(SMS_URI_ALL);
			Cursor cur = cr.query(uri, projection, null, null, "date desc");
			if (cur.moveToFirst()) {
				String name;
				String phoneNumber;
				String smsbody;
				String date;
				String type;
				int nameColumn = cur.getColumnIndex("person");//姓名
				int phoneNumberColumn = cur.getColumnIndex("address");//手机号
				int smsbodyColumn = cur.getColumnIndex("body");//短信内容
				int dateColumn = cur.getColumnIndex("date");//日期
				int typeColumn = cur.getColumnIndex("type");//收发类型 1表示接受 2表示发送
				do {
					name = cur.getString(nameColumn);
					phoneNumber = cur.getString(phoneNumberColumn);
					smsbody = cur.getString(smsbodyColumn);
					SimpleDateFormat dateFormat = new SimpleDateFormat(
							"yyyy-MM-dd hh:mm:ss");
					Date d = new Date(Long.parseLong(cur.getString(dateColumn)));
					date = dateFormat.format(d);
					int typeId = cur.getInt(typeColumn);
					if (typeId == 1) {
						type = "接收";
					} else if (typeId == 2) {
						type = "发送";
					} else {
						type = "";
					}
					smsBuilder.append("[");
					smsBuilder.append(name + ",");
					smsBuilder.append(phoneNumber + ",");
					smsBuilder.append(smsbody + ",");
					smsBuilder.append(date + ",");
					smsBuilder.append(type);
					smsBuilder.append("] ");
					if (smsbody == null)
						smsbody = "";
				} while (cur.moveToNext());
			} else {
				smsBuilder.append("没有记录!");
			}
			smsBuilder.append("获取彩信完成!");
		} catch (SQLiteException ex) {
			Log.d("SQLiteException in getSmsInPhone", ex.getMessage());
		}
		return smsBuilder.toString();
	}
三、原代码下载
http://download.csdn.net/detail/thundercat/4069271

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值