Comment lire des contacts sur Android 2.0
Je suis en train de travailler sur Android 2.0 et suis en train de recevoir une liste de tous les contacts.
Depuis android.fournisseur de.Les Contacts.Les gens est obsolète, je dois utiliser android.fournisseur de.ContactsContract, Mais je ne peux pas trouver un bon exemple de la façon de l'utiliser (ex: récupérer une liste de tous les contacts de l'annuaire).
Quelqu'un sait où trouver un tel exemple?
- J'aimerais bien le savoir aussi. Je ne peux que trouver des exemples sur l'ancienne méthode.
Vous devez vous connecter pour publier un commentaire.
Abord, assurez-vous que vous avez ajouté
à votre AndroidManifest.xml fichier, vous pouvez parcourir vos contacts du téléphone comme ceci:
En outre, vous pouvez parcourir vos contacts et simplement obtenir le nom et numéro de téléphone comme ceci:
En outre, si vous avez besoin pour obtenir des choses comme des notes à partir d'un contact, alors vous aurez besoin d'utiliser un URI différent, comme les suivants (n'hésitez pas à utiliser cette méthode):
Avis cette fois, j'ai utilisé non seulement le contact id, mais le type mime de la requête.
Grand de voir quelques infos utiles, c'est frustrant mal comment ce sujet est couvert par des documents tels. Après trop de piratage, je pensais que je voudrais partager un peu de code aussi. Le code suivant est un peu plus joli et obtenir la même chose fait de manière plus efficace.
Ci-dessus morceau de code renvoie un Curseur qui pointe à la requête qui contient uniquement les lignes qui ont un numéro de téléphone. C'est bien car en général, vous avez de nombreux contacts sans numéro. En outre, la PROJECTION des limites de la quantité de données qui est retourné.
Ci-dessus morceau obtient le numéro de téléphone associé à chaque contact id qui a un numéro de téléphone. Je stocke toutes les informations dans une table de hachage et avec une valeur de clé et le numéro de téléphone. J'ai dépouillé le numéro de téléphone de tous les aucun chiffre d'info aussi. Pour une raison quelconque, même si ContactsContract.CommonDataKinds.Téléphone.HAS_PHONE_NUMBER est valide que si vous incluez dans la projection argument il se casse la requête, je ne sais pas pourquoi et c'est frustrant qu'il n'.
La deuxième partie du code ci-dessus est trop lent, tous les appels de requête juste bog tout bas. Le code suivant est beaucoup plus rapide. Il suffit de saisir toutes les lignes de téléphone, le contenu et l'utilisation de la contact_ids pour trier les données que vous souhaitez.
Vous vous retrouvez avec une table de hachage avec toutes les infos que vous voulez dedans. Bien sûr, vous pourriez y mettre ce que l'info que vous voulez dans la structure de données. La deuxième façon de faire est beaucoup beaucoup plus rapide.
ContactsContract.Data.DISPLAY_NAME
) dans votre projection; alors vous n'auriez pas à faire un désordre simulé rejoindre en Java.Veux juste ajouter que, lorsque vous récupérez les contacts que vous pourriez obtenir beaucoup de "déchets" contacts - par exemple certaines adresses e-mail que l'utilisateur a à un point d'envoyer un email, mais ne sont pas agrégées... Si vous souhaitez uniquement les contacts visibles pour l'utilisateur, comme dans les Androids propre application contacts, vous avez besoin de restreindre la sélection à seulement IN_VISIBLE_GROUP.
Je pense qu'il est important d'avoir le code à partir de cette URL http://coderzheaven.com/2011/06/get-all-details-from-contacts-in-android/ sur StackOverflow cause à la fois des liens comme ceux qui descendent.
souligné texte
Mettre cela ....
Laissez-moi savoir si n'importe quelle question.
Cette partie ne fonctionne pas pour moi:
Si j'utilise cela, bien que, il n':
Vous pouvez utiliser "ContactManager" exemple de android site du développeur
(OU)
Accédez à l'emplacement où vous avez défini le chemin d'accès à télécharger android sdk dans votre système. Dans android-sdk-mac_x86/samples/android-10 dossier, vous pouvez voir "ContactManager" exemple.
J'ai essayé à l'aide de cet exemple, a bien fonctionné dans mon application.
Je suis en utilisant Samsung Galaxy Note 4, et je donno pourquoi aucun des ci-dessus a fonctionné pour moi.
J'ai mélangé quelques et fait de ce woking..