我正在处理挑选图库图像并在应用程序中显示它们,并在将来保存其路径以供参考。
我能够从图库中选择那些存储在设备上的图像,例如像这样的代码下载的文件夹:
Intent intent = new Intent (Intent.ActionPick, Android.Provider.MediaStore.Images.Media.ExternalContentUri);
intent.SetType ("image/*");
StartActivityForResult (Intent.CreateChooser (intent, "Select photo"), 0);
并在结果中:
public override void OnActivityResult (int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult (requestCode, resultCode, data);
case 0:
string FilePath = GetPathToImage (data.Data);
}
private string GetPathToImage(Android.Net.Uri uri)
{
string path = null;
string[] projection = new[] { Android.Provider.MediaStore.Images.Media.InterfaceConsts.Data };
using (ICursor cursor = this.Activity.ManagedQuery(uri, projection, null, null, null))
{
if (cursor != null)
{
int columnIndex = cursor.GetColumnIndexOrThrow(Android.Provider.MediaStore.Images.Media.InterfaceConsts.Data);
cursor.MoveToFirst();
path = cursor.GetString(columnIndex);
}
else
{
return uri.Path;
}
}
}
我的问题是:我能够获取放置在图库中某个本地文件夹中的图像路径,但对于 Picasa / Autobackup 这样的文件夹,我无法使用获得路径。
注意:对于本地图像,路径从content://开始 对于其他com.android ....就像那样。
那么,是否有任何解决方法来获取这些图像的路径。
我不想这样做才能显示图片:
final InputStream is = getContentResolver().openInputStream(imageUri);
我需要一条路径。
如果没有解决方案,那么我们如何跳过从图库/照片中拣选时显示的图像。
PS:Known Issue
任何建议表示赞赏。 感谢