获取什么应用程序联系人个人资料图片android

问题描述:

嗨,我想获取什么是应用程序联系人个人资料图片。可能吗?他们在哪里存储用户的所有个人资料图片? 谢谢!获取什么应用程序联系人个人资料图片android

+0

对此有何更改? –

什么是应用程序不提供任何API访问其个人资料图片。

确实没有Wha​​tsApp API,但它确实有可能。

您可以通过Android ContactsContract类查找联系人图像。

在android数据库中有两种类型的联系人 - RawContactContact。后者是一组前者(代表个人账户)的集合(代表一个人)。

我建议你首先确保照片缓存在设备上(为了避免在测试时出现错误的标志 - 在WhatsApp中打开联系人完整图像,并确保它被缓存),然后以编程方式获取它(从API 14):

ContentResolver cr = getContentResolver(); 

Cursor contactCursor = cr.query(
     ContactsContract.RawContacts.CONTENT_URI, 
     new String[] { ContactsContract.RawContacts._ID, ContactsContract.RawContacts.CONTACT_ID } , 
     ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?", 
     new String[] { "com.whatsapp" }, null); 
if (contactCursor != null && contactCursor .moveToFirst()) { 
    String whatsappContactId = contactCursor.getString(contactCursor.getColumnIndex(ContactsContract.RawContacts.CONTACT_ID)); 
    Uri photoId = ContentUris.withAppendedId(RawContacts.CONTENT_URI, whatsappContactId); 
    Uri photoUri = Uri.withAppendedPath(photoId, RawContacts.DisplayPhoto.CONTENT_DIRECTORY); 
} 
+0

无法从photoUri获取图片。 – Rakesh