Reputation: 198228
I use this intent to let user select a photo:
Intent intent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(intent, INTENT_SELECT_PHOTO);
And in onActivityResult
:
Uri uri = data.getData();
InputStream inputStream = getContentResolver().openInputStream(uri);
But it throws FileNotFoundException
on some android devices.
The value of uri
:
content://media/external/images/media/26467
The exception thrown:
java.io.FileNotFoundException: No such file or directory
And it's very strange that it won't throw this exception on some other android devices. What will cause this error and how to fix it?
Upvotes: 15
Views: 23994
Reputation: 121
I face the same problem but I resolved it by using the setImageURI method of the ImageView.
You dont have to use the following code:
InputStream inputStream = getContentResolver().openInputStream(uri);
Simply use the following function:
imageViewCustomer.setImageURI(data.getData());
Upvotes: 0
Reputation: 1581
MediaStore.Images.Media.INTERNAL_CONTENT_URI
for images on the local device or
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
for images on the SD card.
Are you sure you are addressing both correctly? The internal/external treatment varies with device, maybe that is why its working on some but not on others.
Upvotes: 3