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

Nul*_*ion 10 android uri android-sdcard

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

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

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

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

i.putExtra(Intent.EXTRA_STREAM, Uri.parse("/mnt/sdcard/car.jpg"));
Run Code Online (Sandbox Code Playgroud)

请问有人能告诉我如何获得存储在SD卡上的正确图像吗?

谢谢

Sey*_*baf 15

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

试试这个:

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

File file = new File(completePath); 
Uri imageUri = Uri.fromFile(file);
Run Code Online (Sandbox Code Playgroud)


KK_*_*585 12

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