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

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

当我想要得到存储在drawable上的图像的Uri时,我使用这个,它工作的很完美:

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

但是,如果我想获得存储在SD卡上的图像的URI,我尝试了这一点,它不起作用,有什么错:

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

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

谢谢

Solutions Collecting From Web of "如何获取存储在SD卡上的图像的Uri?"

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

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

尝试这个:

 String fileName = "YourImage.png"; String completePath = Environment.getExternalStorageDirectory() + "/" + fileName; File file = new File(completePath); Uri imageUri = Uri.fromFile(file);