NullPointerException
NullPointerException

Reputation: 37731

How to get the Uri of a image stored on the SDCARD?

I need to get the URI of a image stored on the SDCARD.

When i want to get the Uri of a image stored on drawable, i use this and it works perfect:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.image));

But if i want to get the URI of a image stored on the SDCARD, i tryed with this, and it doesn't works, something is wrong:

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("/mnt/sdcard/car.jpg"));

Please, can someone tell me how to get the correct uri of a image stored on the sdcard?

Thanks

Upvotes: 12

Views: 29530

Answers (2)

SeyedPooya Soofbaf
SeyedPooya Soofbaf

Reputation: 2649

Always use Environment.getExternalStorageDirectory() instead of hard coding the path of external storage directory. Because the path of external storage directory may be different in different API Levels.

Try this:

String fileName = "YourImage.png";
String completePath = Environment.getExternalStorageDirectory() + "/" + fileName;

File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file);

Upvotes: 17

KK_07k11A0585
KK_07k11A0585

Reputation: 2403

String filename = "image.png";
String path = "/mnt/sdcard/" + filename;
 File f = new File(path);  //  
            Uri imageUri = Uri.fromFile(f);     

Upvotes: 13

Related Questions