从drawable图像中获取URI

时间:2013-10-24 13:07:42

标签: android uri drawable

如何获取drawable中保存的图像的URI。我尝试过以下格式,但每次都无法加载图片。

imageURI= Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.indoor_thumbnail1);
imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName");
 imageURI=Uri.parse("android.resource://"+getPackageName()+"/drawables/imageName.png");
imageURI = Uri.parse("android.resource://"+ getResources().getResourceTypeName(R.drawable.indoor_thumbnail1)+"/" +getResources().getResourceEntryName(R.drawable.indoor_thumbnail1)+".png" );

不知道为什么我无法获取图片URI ..

4 个答案:

答案 0 :(得分:15)

试试这个:

Resources resources = context.getResources();
Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + resources.getResourcePackageName(resId) + '/' + resources.getResourceTypeName(resId) + '/' + resources.getResourceEntryName(resId) );

答案 1 :(得分:10)

我发现大多数答案对新手用户来说很困惑,所以我要包含一个例子。

your_package_name = org.xyz.abc

drawable中的图像=> myimage.jpg

Uri uri = Uri.parse("android.resource://org.xyz.abc/drawable/myimage");
or 
Uri uri = Uri.parse("android.resource://"+context.getPackageName()+"/drawable/myimage");

答案 2 :(得分:10)

这是你真正需要的:

Uri imageUri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE +
"://" + getResources().getResourcePackageName(R.drawable.ic_launcher)
+ '/' + getResources().getResourceTypeName(R.drawable.ic_launcher) + '/' + getResources().getResourceEntryName(R.drawable.ic_launcher) );

答案 3 :(得分:1)

你也可以试试这个:

bulkCopy.ColumnMappings.Add("column1", "columnn4")