我正在尝试从短信uri获取联系人的显示名称。如果该人在我的联系人列表中,我应该获得此人的联系人ID。但每次我得到一个Null作为回应意味着该人不在我的联系人列表中。但实际上这个人在我的联系人列表中并显示在消息中。那么有没有办法从sms uri获取该人的显示名称?顺便说一下,我正在使用2.2模拟器。
答案 0 :(得分: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();