获取android内容处理程序中的所有联系人(包括来自其他syncAdapters)

时间:2010-04-15 09:13:27

标签: android facebook contacts

private Cursor getContacts(CharSequence constraint) {
    boolean hasConstrains = constraint != null && constraint.length() != 0;
    Uri uri = ContactsContract.Contacts.CONTENT_URI;
    String[] projection =  new String[]{ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME };
    String selection = hasConstrains ? projection[1] + " LIKE '"+constraint+"%'" : null;
    String[] selectionArgs = null;
    String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " ASC";
    return managedQuery(uri, projection, selection, selectionArgs, sortOrder);
}

第一次发出它我将null作为参数添加到选择参数的函数empty,这意味着我不会过滤任何行。
问题是我只使用syncAdapter来创建自己创建的联系人 我使用 Facebook 应用程序来同步我的 Facebook 联系人,但此查询不会返回它们。
我从模拟器中提取了contacts2.dbview_contacts视图显示了所有联系人,因此数据库已更新。

无论如何创建联系人(使用哪个同步适配器),我该怎么做才能获得所有联系人。

1 个答案:

答案 0 :(得分:0)

我在谷歌搜索主题,似乎facebook选择将联系人视为“限制”但我必须说他们不在桌面视图中,当然我不能确定哪个表contcats.CONTENT_URI将引用...

可能是我不能,但例如我将能够查看谷歌同步联系人吗?