2010-07-29 5 views
3

Je reçois des détails de contact pour un numéro de téléphone donné en utilisant le code suivant:Vous cherchez un contact par un numéro de téléphone

Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNum)); 
Cursor cursor = context.getContentResolver().query(uri,null,null,null,null); 

Il y a un cas que lorsque le curseur contient 3 enregistrements avec le même numéro de téléphone et Afficher un nom.

Pouvez-vous s'il vous plaît suggérer une explication ou une raison possible pour cela?

Merci beaucoup.

+0

Sont les 3 numéros de téléphone formaté différemment? Par exemple, est-on comme '(123) 123-1234', alors qu'un autre est comme' 123-123-1234'? – Hamy

+0

Le numéro apparaît une seule fois dans l'application Contacts – Asahi

Répondre

1

Êtes-vous certain que vous n'avez pas le même numéro entré pour 3 différents contacts ou 3 méthodes de contact différentes? Vous pouvez avoir plusieurs contacts avec les mêmes numéros et les fusionner manuellement dans l'application Contacts.

L'URI que vous construisez est une requête pour les contacts fournisseur de contenu ainsi dans le cas ci-dessus, il est possible de revenir plus d'un contact pour un nombre donné.

+0

Merci pour cette indication. C'est le même contact avec le même identifiant. Cependant, lorsque je sélectionne modifier le contact, je vois 3 contacts Google avec le même numéro de téléphone et le même nom. Donc je suppose maintenant la question de savoir s'il est possible de définir une requête qui ne retourne aucun doublon. Merci – Asahi

Questions connexes