如何在xamarin.android中列出内部/外部存储文件的绝对路径

时间:2017-06-11 13:23:10

标签: xamarin xamarin.android filesystems

我已经搜索并尝试了很多教程,但我没有任何工作代码来列出内部/外部存储文件的绝对路径。

我的代码只能访问内部存储中的一个文件 -

 var path = global::Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;
            var filename = Path.Combine(path.ToString(), "test.mp3");

提前致谢

1 个答案:

答案 0 :(得分:0)

此代码获取外部存储路径。如果没有实际的可移动设备,它将返回模拟副本。

var _path = GetExternalFilesDirs(null);
string Datapath;
foreach (var spath in _path)
{
    if (spath == null) //just loop on if there is no card inserted
        continue;
    if (Android.OS.Environment.InvokeIsExternalStorageEmulated(spath))
    {   //Emulated
        Datapath = spath.AbsolutePath.ToString();                
    }
    else if (Android.OS.Environment.InvokeIsExternalStorageRemovable(spath))
    {   //removable
        Datapath = spath.AbsolutePath.ToString();
        break;
    }
}