gpt4 book ai didi

java - 获取高分辨率联系人照片

转载 作者:行者123 更新时间:2023-11-29 21:09:34 25 4
gpt4 key购买 nike

有谁知道如何检索电话簿联系人(用户)的高质量照片?我所有的尝试都导致了低质量的图像......

没关系如果我通过“openContactPhotoInputStream”或“Uri”检索它,两者都是低质量的。它看起来像缩略图。

我的方法:

1

private void retrieveContactPhoto(ImageView imgView, Long contactId) {

Bitmap photo = null;

try {
InputStream inputStream = ContactsContract.Contacts
.openContactPhotoInputStream(getContentResolver(),
ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI,
contactId));

if (inputStream != null) {
photo = BitmapFactory.decodeStream(inputStream);
imgView.setImageBitmap(photo);
}

assert inputStream != null;
inputStream.close();

} catch (IOException e) {
e.printStackTrace();
}

}

2

public static Uri getPhotoUri(long contactId) {
ContentResolver contentResolver = MainActivity.instance
.getContentResolver();

try {
Cursor cursor = contentResolver
.query(ContactsContract.Data.CONTENT_URI,
null,
ContactsContract.Data.CONTACT_ID
+ "="
+ contactId
+ " AND "

+ ContactsContract.Data.MIMETYPE
+ "='"
+ ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE
+ "'", null, null);

if (cursor != null) {
if (!cursor.moveToFirst()) {
return null; // no photo
}
} else {
return null; // error in cursor process
}

} catch (Exception e) {
e.printStackTrace();
return null;
}

Uri person = ContentUris.withAppendedId(
ContactsContract.Contacts.CONTENT_URI, contactId);
return Uri.withAppendedPath(person,
ContactsContract.Contacts.Photo.CONTENT_DIRECTORY);
}

Min SDK 设置为 android 版本 4.3。谢谢。

最佳答案

使用 openContactPhotoInputStream 的另一种重载方法(在 API 级别 14 中添加),带有 boolean 参数的方法表明您更喜欢高分辨率照片。

http://developer.android.com/reference/android/provider/ContactsContract.Contacts.html#openContactPhotoInputStream(android.content.ContentResolver , android.net.Uri, boolean 值)

public static InputStream openContactPhotoInputStream
(ContentResolver cr, Uri contactUri, boolean preferHighres)

关于java - 获取高分辨率联系人照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23372581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com