Wie man Kontakte auf Android 2.0 liest
Arbeite ich an Android 2.0 und ich versuche, erhalten eine Liste aller Kontakte.
Seit android.Anbieter.Kontakte.Menschen ist veraltet, ich muss mit android.Anbieter.ContactsContractAber ich kann nicht finden, ein gutes Beispiel, wie es (ex: abrufen einer Liste aller Kontakte auf dem Telefonbuch).
Jemand weiß, wo Sie zu finden, wie ein Beispiel?
InformationsquelleAutor der Frage appme up | 2009-11-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste, sicherzustellen, dass Sie Hinzugefügt haben
Ihrem AndroidManifest.xml Datei, dann können Sie mit einer Schleife durch Ihre Handy-Kontakte wie diese:
Darüber hinaus können Sie eine Schleife durch Ihre Kontakte und lassen Sie einfach den Namen und die Telefonnummer so:
Darüber hinaus, wenn Sie benötigen, um Dinge wie Notizen für einen Kontakt, dann müssen Sie einen anderen URI, wie im folgenden (fühlen Sie sich frei, um diese Methode zu verwenden):
Bemerken, dieses mal habe ich nicht nur die Kontakt-id, sondern der mime-Typ für die Abfrage.
InformationsquelleAutor der Antwort
Toll zu sehen, einige nützliche info, es ist frustrierend, wie schlecht dieses wichtige Thema abgedeckt docs und so. Nach zu viel hacken, über die ich dachte, ich würde teilen, ein wenig code auch. Der folgende code ist ein wenig schöner und Holen Sie sich die gleiche Sache effizienter.
Dem obigen Stück code gibt einen Cursor zurück, die Punkte, um die resultierende Abfrage, enthält nur die Zeilen, die eine Telefonnummer haben. Das ist schön, da Sie in der Regel viele Kontakte, aber ohne zahlen. Darüber hinaus ist die PROJEKTION schränkt die Menge der Daten, die zurückgegeben wird.
Den oben chunk bekommt die Telefonnummer, die mit jedem Kontakt-id, eine Telefonnummer. Ich Speichere alle Informationen, die in einer hash-Tabelle und mit einem Schlüssel-Wert der Telefonnummer. Ich zog die Telefonnummer von all none-stellige info auch. Aus irgendeinem Grund obwohl ContactsContract.CommonDataKinds.Telefon.HAS_PHONE_NUMBER ist gültig, wenn Sie einschließen, die in der Projektion argument, es bricht die Abfrage, ich weiß nicht warum, und es ist frustrierend, dass es funktioniert.
Den zweiten Teil der obigen code ist zu langsam, die Abfrage Aufrufe, nur bog alles runter. Der folgende code ist wesentlich schneller. Nehmen Sie einfach alle Zeilen für die Handy-Inhalten und verwenden Sie die contact_ids Sortieren Sie die Daten, die Sie wollen.
Dass Sie am Ende mit einer hashtable mit allen Infos, die Sie wollen in ihm. Natürlich könnte man, was auch immer Informationen, die Sie wollen, in der Daten Struktur. Der zweite Weg, es zu tun ist viel, viel schneller.
InformationsquelleAutor der Antwort thisnamagain
Möchte nur hinzufügen, wenn Sie das abrufen der Kontakte, die Sie möglicherweise erhalten eine Menge "Müll" Kontakte - beispielsweise einige E-Mail-Adressen, die ein Benutzer hat senden Sie eine E-Mail an, aber nicht aggregiert... Wenn Sie nur die Kontakte für den Benutzer sichtbar, als in der Androiden-eigenen Kontakte-Anwendung, die Sie brauchen, um die Auswahl einzuschränken, um nur IN_VISIBLE_GROUP.
InformationsquelleAutor der Antwort stoilkov
Ich denke, es ist wichtig, den code von dieser URL http://coderzheaven.com/2011/06/get-all-details-from-contacts-in-android/ auf StackOverflow führen manchmal links wie die, die unten gehen.
hervorgehobenen text
InformationsquelleAutor der Antwort Ajibola
Setzen ....
Lassen Sie mich wissen, wenn jede Frage.
InformationsquelleAutor der Antwort Maidul
Dieser Teil würde nicht für mich arbeiten:
Wenn ich diese, obwohl, es hat:
InformationsquelleAutor der Antwort vanevery
Können Sie "ContactManager" Beispiel aus der android-Entwickler-Website
(ODER)
Gehen Sie zu dem Speicherort, in dem Sie den Pfad zum download des android-sdk auf Ihrem system. Im android-sdk-mac_x86/samples/android-10-Ordner, können Sie sehen, "ContactManager" - Beispiel.
Ich habe versucht mit diesem Beispiel gut funktioniert in meiner Anwendung.
InformationsquelleAutor der Antwort Ramya
Ich bin mit Samsung Galaxy Note 4, und ich donno, warum keiner der oben genannten für mich gearbeitet.
Ich mischte einige und aus diesem woking..
InformationsquelleAutor der Antwort Sayka