我正在设置 sd 卡中的联系人图像,并通过我的应用程序尝试在列表适配器中显示它。我能够正确获取图像 uri。但是当我试图设置
img.setImageURI(uri);
有时我收到文件未找到异常。即使将 uri 转换为位图也有问题。我有四个联系人,其中 2 个联系人与图像显示正常,剩下两个我找不到文件异常。请帮助。
我正在设置 sd 卡中的联系人图像,并通过我的应用程序尝试在列表适配器中显示它。我能够正确获取图像 uri。但是当我试图设置
img.setImageURI(uri);
有时我收到文件未找到异常。即使将 uri 转换为位图也有问题。我有四个联系人,其中 2 个联系人与图像显示正常,剩下两个我找不到文件异常。请帮助。
请参阅此链接 https://stackoverflow.com/a/4240238/1441666
public static Bitmap loadContactPhoto(ContentResolver cr, long id) {
Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id);
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(cr, uri);
if (input == null) {
return null;
}
return BitmapFactory.decodeStream(input);
}