получение всех контактов (в том числе из других syncAdapters) в обработчике контента Android - PullRequest
0 голосов
/ 15 апреля 2010
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.db из эмулятора, и в представлении view_contacts отображаются все контакты, поэтому БД обновлена.

Что нужно сделать, чтобы получить все контакты независимо от того, как они были созданы (с помощью какого адаптера синхронизации).

1 Ответ

0 голосов
/ 15 апреля 2010

Я запустил поиск по этой теме в Google, похоже, Facebook решил, что контакты имеют ограничения, хотя я должен сказать, что их нет в табличном представлении, конечно, я не уверен таблица contcats.CONTENT_URI будет ссылаться на ...

Может ли быть так, что я не могу, но, например, я смогу просматривать синхронизированные контакты Google?

...