我正在尝试根据联系人ID获取联系人的全尺寸图片,我想出了这个:
private Bitmap getUserPhoto(long contactId) {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
contactId);
Uri displayPhotoUri = Uri.withAppendedPath(contactUri,
Contacts.Photo.DISPLAY_PHOTO);
try {
AssetFileDescriptor fd = getContentResolver()
.openAssetFileDescriptor(displayPhotoUri, "r");
return BitmapFactory.decodeStream(fd.createInputStream());
} catch (IOException e) {
return null;
}
}
但图像尺寸太小(缩略图)
如何获取联系人的全尺寸照片?
由于
答案 0 :(得分:2)
如果手机中有原始图像,则可以使用openContactPhotoInputStream(ContentResolver cr, Uri contactUri, boolean preferHighres)。并设置preferHighres为真。
答案 1 :(得分:0)
您可以调整大小位图
private Bitmap getUserPhoto(long contactId) {
Uri contactUri = ContentUris.withAppendedId(Contacts.CONTENT_URI,
contactId);
Uri displayPhotoUri = Uri.withAppendedPath(contactUri,
Contacts.Photo.DISPLAY_PHOTO);
try {
AssetFileDescriptor fd = getContentResolver()
.openAssetFileDescriptor(displayPhotoUri, "r");
return Bitmap.createScaledBitmap(BitmapFactory.decodeStream(fd.createInputStream()), newWidth, newHeight, true);
} catch (IOException e) {
return null;
}
}
newWidth和newHeight是Int值。