从图库中选择图像,包括Picasa / AutoBackup图像

时间:2014-10-18 10:10:14

标签: android xamarin xamarin.android image-gallery

我正在处理挑选图库图像并在应用程序中显示它们,并在将来保存其路径以供参考。

我能够从图库中选择那些存储在设备上的图像,例如像这样的代码下载的文件夹:

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

任何建议表示赞赏。 感谢

0 个答案:

没有答案