我目前正在开发一个应用程序,该应用程序会通过您的手机并列出所有可用的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卡。如何以编程方式获取此路径?
答案 0 :(得分:1)
看看这些方法:
返回主外部目录的绝对路径 文件系统(位于Environment.ExternalStorageDirectory上的某个位置) 应用程序可以在其中放置其拥有的持久文件的位置。这些档案 在应用程序内部,通常对应用程序不可见 用户作为媒体。
将绝对路径返回到所有应用程序特定目录的绝对路径 外部存储设备,应用程序可以在其中放置持久性存储 它拥有的文件。这些文件在应用程序内部,而不是 通常作为媒体对用户可见。
答案 1 :(得分:0)
我一直在寻找几天的解决方案,这些解决方案最终为您提供了“外部”内置存储。终于找到了适用于“可移动” SD卡的解决方案,并希望将其发布在这里,以防其他人还在寻找。
How to write on external storage sd card in mashmallow in xamarin.android