从通讯录中获取联系人的详细信息

    ContentResolver cr1 = getActivity().getContentResolver();

//从contacts数据表中查询回来的全部内容

        Cursor cursor1 = cr1.query(Contacts.CONTENT_URI, new String[] {
                Contacts._ID, Contacts.PHOTO_ID }, null, null, null);
        while (cursor1.moveToNext()) {
            Contact contact = new Contact();
            contact.set_id(cursor1.getInt(0));
            contact.set_photoId(cursor1.getInt(1));

            ContentResolver cr2 = getActivity().getContentResolver();

//从Data表中查询这个联系人的姓名、电话、邮件等详细信息

            Cursor cursor2 = cr2.query(Data.CONTENT_URI, new String[] {
                    Data.MIMETYPE, Data.DATA1 }, Data.RAW_CONTACT_ID + "=?",
                    new String[] { String.valueOf(contact.get_id()) }, null);
            while (cursor2.moveToNext()) {
                String mimeType = cursor2.getString(0);
                if (mimeType.equals("vnd.android.cursor.item/email_v2")) {
                    contact.setEmail(cursor2.getString(1));
                }
                if (mimeType.equals("vnd.android.cursor.item/organization")) {
                    contact.setCompany(cursor2.getString(1));
                }
                if (mimeType.equals("vnd.android.cursor.item/name")) {
                    contact.setName(cursor2.getString(1));
                }
                if (mimeType.equals("vnd.android.cursor.item/phone_v2")) {
                    contact.setNumber(cursor2.getString(1));
                }
                if (mimeType
                        .equals("vnd.android.cursor.item/postal-address_v2")) {
                    contact.setAddress(cursor2.getString(1));
                }

            }
            cursor2.close();
            list.add(contact);

        }
        cursor1.close();
        Log.i("TAG", list.toString());

    }


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值