我需要获取存储在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卡上的正确图像吗?
由于
答案 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);