【发布时间】:2018-05-16 21:07:27
【问题描述】:
是否可以对 ContactsContract 进行一次查询以获取一组与显示名称、电话号码或电子邮件地址匹配的联系人?
这本质上是联系人和数据“表”的连接(用引号括起来,因为它们在界面上看起来只是表,但可能不是)。
换句话说,我想要一个类似的 where 子句(稍微简化语法)
where Contacts.DISPLAY_NAME like "%?%"
or (Data.MIMETYPE = Phone.CONTENT_ITEMTYPE
and CommonDataKinds.Phone.NUMBER like "%?%")
or (Data.MIMETYPE = Email.CONTENT_ITEMTYPE
and CommonDAtaKinds.Email.ADDRESS like "%?%")
表格连接起来像
Data.RAW_CONTACT_ID = RawContacts.ID and RawContacts.CONTACT_ID = Contacts.ID
我可以在没有连接的情况下将其作为单独的查询来执行,但是排序结果变得很困难。我希望它们按显示名称排序。
【问题讨论】:
标签: android android-contentprovider contactscontract