如何获取存储在SDCARD上的图像的Uri?

时间:2011-11-28 13:03:50

标签: android uri android-sdcard

我需要获取存储在SDCARD上的图像的URI。

当我想获得存储在drawable上的图像的Uri时,我使用它并且它完美无缺:

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

但是,如果我想获取存储在SDCARD上的图像的URI,我尝试使用它,它不起作用,出了点问题:

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

拜托,有人可以告诉我如何获得存储在SD卡上的正确图像吗?

由于

2 个答案:

答案 0 :(得分:15)

始终使用Environment.getExternalStorageDirectory()而不是硬编码外部存储目录的路径。因为外部存储目录的路径在不同的API级别中可能不同。

试试这个:

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

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

答案 1 :(得分:12)

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