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

Copy contact photo to my folder

我得到联系人照片 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);

成功了。但我也需要将这张图片复制到我的文件夹中。如何将此联系人照片复制到我的文件夹?

ContactsContract.Contacts docs there's a convenience method called openContactPhotoInputStream

所以你可以这样做:

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

Se 将 InputStream 保存到本地文件,请参阅: