Andro联系人短信记录读取

联系人短信记录读取

在完成通讯录的消息界面时,需要读取联系人的短信记录
具体过程如下:
首先是权限处理

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

读取方法如下:

public static Uri SMS_INBOX = Uri.parse("content://sms/");
public static List<Sms>getSmsFromPhone(Context context) {
    List<Sms>list=new ArrayList<>();
    ContentResolver cr =context.getContentResolver();
    String[] projection = new String[] {"_id", "address", "person","body", "date", "type" };
    Cursor cur = cr.query(SMS_INBOX, projection, null, null, "date desc");
    while(cur.moveToNext()) {
        String number = cur.getString(cur.getColumnIndex("address"));//手机号
        String name = cur.getString(cur.getColumnIndex("person"));//联系人姓名列表
        String body = cur.getString(cur.getColumnIndex("body"));//短信内容
        Long date=cur.getLong(cur.getColumnIndex("date"));
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        Date d = new Date(date);
        String strDate = dateFormat.format(d);
        //至此就获得了短信的相关的内容
        Sms sms=new Sms();
        GeticonForGetmsg.icon(context,number);
        sms.setPhone(number);
        sms.setBody(body);
        sms.setDate(strDate);
        list.add(sms);

    }
    return list;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值