Android,Xamarin:获取SD卡的文件路径

时间:2018-10-04 11:50:59

标签: android xamarin

我目前正在开发一个应用程序,该应用程序会通过您的手机并列出所有可用的MP3文件。我设法做到了这一点,并在内部存储中搜索了所有内容,但是当安装了SD卡时,却没有设法找到使用Envoirment的方法。这是我的代码-SD卡为TRUE时,您会看到丢失的部分。你能完成吗?

    public List<string> ReturnPlayableMp3(bool sdCard)
    {
        List<string> res = new List<string>();
        string phyle;

        if(sdCard)
        {
            // missing 
        }
        else
        {
            try
            {
                var path1 = Android.OS.Environment.ExternalStorageDirectory.ToString();
                var mp3Files = Directory.EnumerateFiles(path1, "*.mp3", SearchOption.AllDirectories);

                foreach (string currentFile in mp3Files)
                {
                    phyle = currentFile;
                    res.Add(phyle);
                }
            }
            catch (Exception e9)
            {
                Toast.MakeText(ApplicationContext, "ut oh\n" + e9.Message, ToastLength.Long).Show();
            }
        }


        return res;
    }


}

这一次只需要为SD卡返回与内部存储完全相同的内容。现在,返回的beeing是:

“” /存储/仿真/ 0“”

希望您能帮助我。谢谢!

所以我找到了这个地方:/ storage / 05B6-2226 /

但是数字仅指MY SD卡。如何以编程方式获取此路径?

2 个答案:

答案 0 :(得分:1)

看看这些方法:

  

返回主外部目录的绝对路径   文件系统(位于Environment.ExternalStorageDirectory上的某个位置)   应用程序可以在其中放置其拥有的持久文件的位置。这些档案   在应用程序内部,通常对应用程序不可见   用户作为媒体。

  

将绝对路径返回到所有应用程序特定目录的绝对路径   外部存储设备,应用程序可以在其中放置持久性存储   它拥有的文件。这些文件在应用程序内部,而不是   通常作为媒体对用户可见。

答案 1 :(得分:0)

我一直在寻找几天的解决方案,这些解决方案最终为您提供了“外部”内置存储。终于找到了适用于“可移动” SD卡的解决方案,并希望将其发布在这里,以防其他人还在寻找。

How to write on external storage sd card in mashmallow in xamarin.android