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

时间:2013-05-31 17:10:03

标签: android image whatsapp

您好我正在尝试获取应用联系人资料图片。可能吗?他们在哪里存储用户的所有个人资料图片? 谢谢!

2 个答案:

答案 0 :(得分:8)

什么是应用程序没有提供任何API来访问他们的个人资料图片。

答案 1 :(得分:0)

确实没有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);
}