Android 按帐户类型获取联系人

Android 按帐户类型获取联系人,android,Android,有人能帮助我如何获得每个帐户的所有联系人吗?也就是说,我想设置一个条件,确定联系人是来自手机(由用户创建)还是来自谷歌和其他同步来源,因为到目前为止,我获取的是所有联系人及其所有同步来源的组合,例如本地联系人、谷歌甚至雅虎联系人 有人能帮助我如何获得每个帐户的所有联系人吗 您可以使用下一个代码段检索特定帐户类型的联系人: String where = RawContacts.ACCOUNT_TYPE+ "=?"; String[] args = { accountType }; Cursor c

有人能帮助我如何获得每个帐户的所有联系人吗?也就是说,我想设置一个条件,确定联系人是来自手机(由用户创建)还是来自谷歌和其他同步来源,因为到目前为止,我获取的是所有联系人及其所有同步来源的组合,例如本地联系人、谷歌甚至雅虎联系人

有人能帮助我如何获得每个帐户的所有联系人吗

您可以使用下一个代码段检索特定帐户类型的联系人:

String where = RawContacts.ACCOUNT_TYPE+ "=?";
String[] args = { accountType };
Cursor contacts = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, args, null);

int numberIndex = contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
int displayNameIndex = contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
for (contacts.moveToFirst(); !contacts.isAfterLast(); contacts.moveToNext()) {
    String number = contacts.getString(numberIndex);
    String displayName = contacts.getString(displayNameIndex);
    // do something with account contacts
}
contacts.close();
要筛选普通电话联系人(未连接到任何帐户),您可以使用:

String where = RawContacts.ACCOUNT_TYPE+ " IS NULL";

我已经尝试过
cursor=cr.query(ContactsContract.Contacts.CONTENT\u URI,null,null,null)
但它也可以像google一样获得同步联系人。我只想要电话联系人或电话簿。