如何获取联系人的显示名称在短信uri?

问题描述:

我想从短信uri获取联系人的显示名称。如果该人在我的联系人列表中,我应该获取该人的联系人ID。但每次我收到一个空值作为回应,这意味着该人不在我的联系人列表中。但实际上这个人在我的联系人列表中并显示在消息中。那么是否有一种方法可以从sms获取人员的显示名称uri?btw,我正在使用2.2模拟器。如何获取联系人的显示名称在短信uri?

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

这很好,但不是在一些4.0.3设备?请告诉我,如果你面对类似的问题:http://*.com/questions/12065606/getcontentresolver-query-cause-cursorwrapperinner-warning – thecr0w 2012-08-22 03:13:47