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

Android 如何获取存储在SD卡上的图像的Uri?,android,uri,android-sdcard,Android,Uri,Android Sdcard,我需要获取SD卡上存储的图像的URI 当我想要获取存储在drawable上的图像的Uri时,我使用这个,它工作得非常完美: i.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.image)); 但是如果我想获取存储在SD卡上的图像的URI,我尝试了这个,但它不起作用,有些地方出了问题: i.putExtra(Intent.EXTRA_STREA

我需要获取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吗


谢谢

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

试试这个:

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

File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file);
您是否尝试过i.putExtra(Intent.EXTRA_STREAM,Uri.parse(“file://mnt/sdcard/car.jpg"));? 让我知道发生了什么……看看这里
String fileName = "YourImage.png";
String completePath = Environment.getExternalStorageDirectory() + "/" + fileName;

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