在URL中找到权限组件:尝试打开图像时

时间:2012-03-22 16:04:00

标签: android image uri illegalargumentexception authority

在我的应用程序中,我从设备的图库中收集一些图像作为文件的名称。 我想在应用程序启动时显示其中一个图像。 当我使用以下代码 -

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
String imageFileName = imagesNamesArrayList.get(rndIndex);
Uri imageUri = Uri.parse("file://" + imageFileName);
intent.setDataAndType(imageUri, "image/*");
startActivity(intent);

我收到以下错误 -

03-22 18:00:18.248: E/AndroidRuntime(12560): FATAL EXCEPTION: MediaFeed

03-22 18:00:18.248: E/AndroidRuntime(12560): java.lang.IllegalArgumentException: Found authority component in URI: file://mnt/sdcard/tapjoy/cache/images/placeholder.png

如何解决?

1 个答案:

答案 0 :(得分:3)

您发现错误是因为您的URI格式错误;看起来你错过了正斜杠。 URI的两个组件是file://和路径/mnt/sdcard/tapjoy/cache/images/placeholder.png,因此您最终应该:

file:///mnt/sdcard/tapjoy/cache/images/placeholder.png