用PhoneLookup进行电话号码查询

本文介绍了一个高度优化的电话号码查询API——ContactsContract.PhoneLookup。该API可通过特定URI查询电话号码,返回包括联系人姓名、号码类型等在内的14项信息。文章详细解释了如何使用此API进行电话号码查询。

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

publicstaticfinalclass
ContactsContract.PhoneLookup
extendsObject
implementsBaseColumnsContactsContract.ContactOptionsColumnsContactsContract.ContactsColumnsContactsContract.PhoneLookupColumns
java.lang.Object
android.provider.ContactsContract.PhoneLookup
ClassOverview
Atablethatrepresentstheresultoflookingupaphonenumber,forexampleforcallerID.
ToperformalookupyoumustappendthenumberyouwanttofindtoCONTENT_FILTER_URI.
Thisqueryishighlyoptimized.

电话号码的查询可以用如下方式实现。
StringphoneNumber="1367890660";
Uriuri=Uri.withAppendedPath(
PhoneLookup.CONTENT_FILTER_URI,Uri.encode(phoneNumber));
c=context.getContentResolver().query(uri,null,null,null,null);

能查询到的信息共14项
Columns
PhoneLookup
long_IDread-onlyDatarowID.
StringNUMBERread-onlyPhonenumber.
StringTYPEread-onlyPhonenumbertype.SeeContactsContract.CommonDataKinds.Phone.
StringLABELread-onlyCustomlabelforthephonenumber.SeeContactsContract.CommonDataKinds.Phone.

ColumnsfromtheContactstable(ContactsContract.Contacts)arealsoavailablethroughajoin.
JoinwithContacts
StringLOOKUP_KEY
StringDISPLAY_NAME
longPHOTO_ID
intIN_VISIBLE_GROUP
intHAS_PHONE_NUMBER
intTIMES_CONTACTED
longLAST_TIME_CONTACTED
intSTARRED
StringCUSTOM_RINGTONE
intSEND_TO_VOICEMAIL
注意查询到的信息项都标记为只读的。我想这里的查询应该就是调用的数据库中存储过程。
从逻辑上来讲就是只读的。所以系统在这里就把标记为只读的了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值