我想从具有facebook帐户的电话簿中查找所有联系人。
我做的步骤
答案 0 :(得分:0)
您可以按照以下算法获取具有特定帐户类型的联系人。 1.首先,查询原始联系人表并查找所有原始联系人。检查有哪些不同的帐户类型和帐户名称可用。 http://developer.android.com/reference/android/provider/ContactsContract.SyncColumns.html#ACCOUNT_TYPE Facebook联系人的帐户类型将包含文本“facebook”。 2.获得确切的帐户类型后,您可以使用帐户类型= facebook查询原始联系人。 这将给所有Facebook原始联系人。原始联系人表具有contact_id字段,您可以使用该字段在“联系人”表上查询以获取所有Facebook联系人。
下面是代码段,可以打印当前在设备上配置的所有帐户名称和类型。这只是用于检查所有帐户类型的示例代码。如果您没有找到与Facebook相关的任何帐户名称/类型,我想没有Facebook联系人。
String[] projection = { RawContacts._ID, RawContacts.ACCOUNT_TYPE,
RawContacts.ACCOUNT_NAME };
Cursor cur = cr.query(RawContacts.CONTENT_URI, projection, null, null,
null);
if (cur != null) {
while (cur.moveToNext()) {
long rawContactId = cur.getLong(cur
.getColumnIndexOrThrow(RawContacts._ID));
String accountType = cur.getString(cur
.getColumnIndexOrThrow(RawContacts.ACCOUNT_TYPE));
String accountName = cur.getString(cur
.getColumnIndexOrThrow(RawContacts.ACCOUNT_NAME));
}
}