ContactsContract.Contacts 查询特定帐户
ContactsContract.Contacts query for specific account
是否有有效的查询来查找特定帐户名称和类型的所有汇总联系人?
ContactsContract.Contacts
table 有 IN_VISIBLE_GROUP
列,对联系人组成员身份有效。因此,如果用户为帐户选择了各种组成员身份,则会设置此列。
似乎没有任何等效的可见帐户列。但是,Android 联系人应用程序允许选择特定帐户进行查看,而无需点击 "customize" 和选择群组。这样做会更新 ContactsContract.Settings
table。效果好像没有达到Contacts
table.
我希望能够执行一个查询并返回一个游标,该游标具有完全正确的一组聚合(意思是来自联系人 table)联系人。这可能吗?
find all aggregate contacts for a specific account name & type
Contacts
是特定于帐户的,它们由多个 RawContacts
组合而成,每个都可以保存在不同的 Account
.
您可以查询特定 Account
的所有 RawContacts
:
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
你可以把你在上面查询中找到的所有联系人 ID 放在一个数组中,然后在 Contacts
table:
上查询
Cursor c = cr.query(Contacts.CONTENT_URI,
new String[]{ Contacts._ID, Contacts.DISPLAY_NAME, ... },
Contacts._ID + " IN (" + arrayOfIds + ")", null, null);
是否有有效的查询来查找特定帐户名称和类型的所有汇总联系人?
ContactsContract.Contacts
table 有 IN_VISIBLE_GROUP
列,对联系人组成员身份有效。因此,如果用户为帐户选择了各种组成员身份,则会设置此列。
似乎没有任何等效的可见帐户列。但是,Android 联系人应用程序允许选择特定帐户进行查看,而无需点击 "customize" 和选择群组。这样做会更新 ContactsContract.Settings
table。效果好像没有达到Contacts
table.
我希望能够执行一个查询并返回一个游标,该游标具有完全正确的一组聚合(意思是来自联系人 table)联系人。这可能吗?
find all aggregate contacts for a specific account name & type
Contacts
是特定于帐户的,它们由多个 RawContacts
组合而成,每个都可以保存在不同的 Account
.
您可以查询特定 Account
的所有 RawContacts
:
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
你可以把你在上面查询中找到的所有联系人 ID 放在一个数组中,然后在 Contacts
table:
Cursor c = cr.query(Contacts.CONTENT_URI,
new String[]{ Contacts._ID, Contacts.DISPLAY_NAME, ... },
Contacts._ID + " IN (" + arrayOfIds + ")", null, null);