是否有一个有效的查询来查找特定帐户名称的所有汇总联系人。类型?
ContactsContract.Contacts
表格包含IN_VISIBLE_GROUP
列,对联系人群组成员资格有效。因此,如果用户为帐户选择了各种组成员资格,则将设置此列。
似乎没有任何等效的in-visible-account列。但是,Android联系人应用允许选择要查看的特定帐户,而无需点按“自定义”并选择群组。这样做会更新ContactsContract.Settings
表。效果似乎没有达到Contacts
表格。
我希望能够执行一个查询并获得一个具有完全正确的聚合集(意味着来自Contacts表)联系人的光标。这可能吗?
答案 0 :(得分:2)
查找特定帐户名称的所有汇总联系人。型
Contacts
是特定于帐户的,它们由多个RawContacts
组合而成,每个Account
可以保存在不同的RawContacts
上。
您可以查询特定Account
的所有Cursor c = cr.query(RawContacts.CONTENT_URI,
new String[]{ RawContacts._ID, RawContacts.CONTACT_ID, RawContacts._ID, ... },
RawContacts.ACCOUNT_NAME + " = '" + accountName + "' AND " + RawContacts.ACCOUNT_TYPE + " = '" + accountType + "'", null, null);
:
Contacts
如果您需要Contacts
,可以将上述查询中找到的所有联系人ID放在数组中,并在Cursor c = cr.query(Contacts.CONTENT_URI,
new String[]{ Contacts._ID, Contacts.DISPLAY_NAME, ... },
Contacts._ID + " IN (" + arrayOfIds + ")", null, null);
表上查询:
$index