android获取联系人电话号码

本文介绍如何在Android环境下,利用Uri接口从联系人中查询并获取电话号码,具体步骤包括解析Uri获得ContactID,构建查询路径,执行SQL查询获取所需数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    android中通过联系人的Uri获取电话号码信息:

//查询表数据列
static final String[] PHONE_SUMMARY_PROJECTION = new String[] { 
        Phone._ID,
        Phone.NUMBER,
        Phone.IS_SUPER_PRIMARY, 
        RawContacts.ACCOUNT_TYPE,
        Phone.TYPE, 
        Phone.LABEL };
//从路径中Contact ID,mLookupUri为联系人的路径信息
final long contactId = ContentUris.parseId(mLookupUri);
String phoneNumber = null;
//为路径加上ID
Uri baseUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
              contactId);
Uri dataUri = Uri.withAppendedPath(baseUri,
              Contacts.Data.CONTENT_DIRECTORY);
//查询数据
Cursor cursor = getContentResolver().query(dataUri,
                PHONE_SUMMARY_PROJECTION, Data.MIMETYPE + "=?",
                new String[] { Phone.CONTENT_ITEM_TYPE }, null);

if (cursor != null && cursor.moveToFirst()) {
    phoneNumber =  cursor.getString(cursor.getColumnIndex(Phone.NUMBER));
}

实验平台为android2.2

转载于:https://www.cnblogs.com/dotc/archive/2012/09/10/2678503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值