Pracuję nad aplikacją Android Honeycomb (v3.0), która wymaga wyświetlania WSZYSTKICH kontaktów zapisanych na koncie Google zarejestrowanym na urządzeniu. Jednym z problemów, który mam, jest to, że mogę tylko odzyskać kontakty, które są dostępne w "Moich kontaktach", "Oznaczonych gwiazdkami w Androidzie" i "Inne kontakty". Chciałbym również móc pobierać kontakty z "Katalogu". Uważam, że sekcja "Katalog" to funkcja udostępniana przez Google organizacjom i firmom, które chcą udostępniać katalog wszystkich członków/pracowników w swoich domenach innym. Proszę zobaczyć zrzut ekranu poniżej:Android 3.0 - odzyskiwanie wszystkich kontaktów za pośrednictwem kontaktówContract
tej pory, mam następujący wiersz w moim pliku manifestu:
<uses-permission android:name="android.permission.READ_CONTACTS" />
Próbowałem przy użyciu tego kodu:
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
}
cursor.close();
W mój przypadek "Moje kontakty" i "Oznaczone gwiazdką w Androidzie" są puste. Jednakże uzyskuje się kontakt (1) w "Inne kontakty". "Katalog" zawiera setki kontaktów, które nie są pobierane.
Moje pytanie: Czy istnieje sposób, aby upewnić się, że kontakty w "Katalogu" są również pobierane? Wiem, że mogę po prostu skopiować kontakty za pomocą przeglądarki internetowej, a następnie zsynchronizować je z urządzeniem, ale jeśli nowy kontakt zostanie dodany do "Katalogu", musiałbym to zrobić ręcznie za każdym razem, więc to nie jest świetny wybór dla mnie. Proszę doradź.
http://developer.android.com/resources/samples/ContactManager/index.html – VicVu
Właśnie próbowałem kod w getContacts function() (ContactManager. plik java), ale ostatecznie nie ma żadnych wpisów bez względu na to, do czego ustawię mShowInvisible. – BVB
Ustawienie 'String selection = null; 'zwróciło ten sam wynik co poprzednio z kodem, o którym wspomniałem. – BVB