根据联系人的电话号码(number)查询联系人的ID

依据联系人的电话号码(number)查询联系人的ID

PhoneNumberUtils
PhoneNumberUtils.compare(String s1, String s2)

Phone.CONTENT_URI = "content://com.android.contracts/data/phones"

table contracts, raw_contracts, data 

原文地址:依据联系人的电话号码(number)查询联系人的ID (contact_id)作者:这个十年

    以下博文我虽然在博文“Android系统源码数据库(contacts2.db)中几个表之间的关系

”有所介绍,但是我个人认为这项功能非常重要,所以单独拿出来,做为一个知识点.....

如果你仔细研读代码,可以发现我所写的一下方法还有一个功能就是:判断一个电话号码是否已经被保存。

 

在编码过程中,知道了联系人的contact_id,能够帮我们做很多事情

例如:

    1. 依据contact_id,去查询该联系人的照片

    2. 依据该联系人的contact_id, 去查询该联系人的名字

    3. 依据该联系人的contact_id ,查询同一个contact_id有多少个电话号码。


 

Phone.CONTENT_URI = content://com.android.contacts/data/phones” -> Android 2.0及以上版本

通过查看源代码发现:该URI主要对应着contacts表,raw_contacts表,data表。这段源码对于刚了解该contact2数据库的人说比较费劲,

qb.setProjectionMap(distinct ? sDistinctDataProjectionMap : sDataProjectionMap);是非常重要的线索,它告诉我们会查询哪些字段