【发布时间】:2015-11-10 20:03:42
【问题描述】:
我在尝试在 Android 上选择照片时遇到问题。我正在使用下面的代码来启动活动。
var intent = new Intent ();
intent.SetType ("video/*");
intent.SetAction (Intent.ActionGetContent);
intent.PutExtra (MediaStore.ExtraVideoQuality, 0);
intent.PutExtra (MediaStore.ExtraDurationLimit, Globals.VideoMaxDuration);
this.StartActivityForResult (Intent.CreateChooser (intent, "Select video"), 200);
然后在 OnActivityResult 回调中我使用以下代码获取数据的 URI。
if (resultCode == Result.Ok && data.Data != null)
{
String[] proj = { MediaStore.Images.Media.InterfaceConsts.Data };
ICursor cursor = this.ContentResolver.Query(data.Data, proj, null, null, null);
int colIndex = cursor.GetColumnIndexOrThrow (MediaStore.Video.Media.InterfaceConsts.Data);
cursor.MoveToFirst ();
vid = cursor.GetString(colIndex);
// do stuff with vid
}
这在从“图库”选项中选择视频时效果很好,但是当我尝试从选择器的“最近”或“下载”部分中选择视频时,VID 始终为空。
有谁知道如何可靠地从视频选择器意图中获取视频数据?此外,代码在 C# 中,因为这是一个 Monotouch (Xamarin) 应用程序,但我在原生 Android 中创建了一个测试应用程序,并且遇到了完全相同的问题。
谢谢!
【问题讨论】:
-
你检查过这个吗? link
-
@shreyashmashru 该链接就像一个魅力。请将此作为答案发布,我会将其标记为已接受的答案。