我正在尝试创建一个xamarin表单应用程序,我正在使用依赖服务从设备中选择多个文件。我已经编写了以下代码来从Android.Net.Uri获取实际文件:
private string GetPathToAudioFile(global::Android.Net.Uri uri)
{
string doc_id = "";
using (var c1 = ContentResolver.Query(uri, null, null, null, null))
{
c1.MoveToFirst();
String document_id = c1.GetString(0);
doc_id = document_id.Substring(document_id.LastIndexOf(":") + 1);
}
string path = null;
// The projection contains the columns we want to return in our query.
string audioSelection = MediaStore.Audio.Media.InterfaceConsts.Id + " =? ";
using (var cursor = ManagedQuery(MediaStore.Audio.Media.ExternalContentUri, null, audioSelection, new string[] { doc_id }, null))
{
if (cursor == null) return path;
var columnIndex = cursor.GetColumnIndexOrThrow(MediaStore.Audio.Media.InterfaceConsts.Data);
cursor.MoveToFirst();
path = cursor.GetString(columnIndex);
}
return path;
}
但无论什么时候,我都尝试这样做,我得到以下异常。 Cursor Exception
我是Xamarin的新手,我不知道如何解决这个问题。请帮我解决一下这个。提前谢谢。