从检索短信中显示联系人的照片

时间:2013-08-28 06:37:59

标签: java android contactscontract smsmanager

我能够正确地从查询中检索SMS会话,并且它正在运行。现在我想添加特定联系人的照片?我可以通过以下方式获取联系人的显示名称:

 Cursor cs= getContentResolver().query(Nameuri, new String[]{PhoneLookup.DISPLAY_NAME},PhoneLookup.NUMBER+"='"+address+"'",null,null);

            if(cs.getCount()>0)
            {
                cs.moveToFirst();
                contactName = cs.getString(cs.getColumnIndex(PhoneLookup.DISPLAY_NAME));
            } 

我无法找到PhoneLookup._ID?有没有简单的方法检索类似于Display_name的照片?

让我知道!

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该在阅读显示名称的同一查询中读取联系人的ID。然后,您应该阅读ContactsContract.Contacts.Photo以获取示例代码以阅读/显示联系人照片。

Android: Get Contact Details (ID, Name, Phone, Photo)可以成为解决问题的一个很好的例子。


将您的查询修改为(我添加了PhoneLookup._ID

Cursor cs= getContentResolver().query(Nameuri, new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME},PhoneLookup.NUMBER+"='"+address+"'",null,null);

//读取id与读取显示名称相同

long id = cs.getLong(cs.getColumnIndex(PhoneLookup._ID));