将联系人照片复制到我的文件夹

时间:2018-01-22 11:42:42

标签: android-contacts contactscontract

我收到联系人照片URI

Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.valueOf(contactID));

我现在可以用Picaso显示这张照片:

Picasso.with(mainUserPhoto.getContext())
                    .load(uri)
                    .placeholder(R.drawable.image_placeholder)
                    .error(R.drawable.folder_placeholder)
                    .into(mainUserPhoto);

这是有效的。但我也需要将此图像复制到我的文件夹中。如何将此联系人照片复制到我的文件夹?

1 个答案:

答案 0 :(得分:1)

ContactsContract.Contacts文档中,有一种称为openContactPhotoInputStream

的便捷方法

所以你可以这样做:

Uri contactUri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.valueOf(contactId));
InputStream is = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(), contactUri, true);

InputStream保存到本地文件,请参阅:https://stackoverflow.com/a/10857407/819355