2010-12-05 5 views
0

J'essaie d'obtenir le nom d'affichage du contact de l'URI sms. Je devrais obtenir l'identifiant de contact de la personne si cette personne est dans ma liste de contact. Mais chaque fois que je reçois un Null comme réponse, cela signifie que la personne n'est pas dans ma liste de contacts. Mais en fait, la personne est dans ma liste de contacts et affichée dans le message. Donc, est-il un moyen d'obtenir le nom d'affichage de la personne à partir de sms uri? Btw, j'utilise 2.2 émulateur.Comment obtenir le nom d'affichage du contact dans sms uri?

Répondre

3
Uri personUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, smsMsg.getOriginatingAddress()); 

cur = appContext.getContentResolver().query(personUri, new String[] { PhoneLookup.DISPLAY_NAME }, null, null, null); 

if(cur.moveToFirst()) { 
      int nameIndex = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME); 

      PersonName = cur.getString(nameIndex); 
} 
cur.close(); 
+0

Cela fonctionne très bien, mais pas sur certains périphériques 4.0.3? s'il vous plaît veuillez me dire si vous rencontrez le même problème: http://stackoverflow.com/questions/12065606/getcontentresolver-query-cause-cursorwrapperinner-warning – thecr0w

+0

Merci. :) Ça fonctionne. Je l'ai testé sur 2.2, 2.3 et 4.0.3 et ça marche très bien. :) – pandabear

Questions connexes