我目前正在开发一个应用程序,它可以通过你的手机列出所有可用的MP3文件。我设法做到了这一点,并在内部存储上搜索了所有内容,但没有找到一种使用环境来访问SD卡的方法,如果安装了SD卡的话。这是我的代码-当SD卡是真的时,你会看到一个缺失的部分。你能完成它吗?
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卡。现在,返回的内容是:
""/storage/emulated/0"“
我希望你能帮助我。谢谢!
所以我找到了它的位置: /storage/05B6-2226/
但这些数字只代表我的SD卡。如何以编程方式获取此路径?
发布于 2018-10-04 21:17:55
看看这些方法:
返回主外部文件系统(即Environment.ExternalStorageDirectory上的某个位置)上的目录的绝对路径,应用程序可以在该目录中放置它拥有的持久性文件。这些文件是应用程序的内部文件,用户通常看不到它们作为媒体。
返回所有外部存储设备上特定于应用程序的目录的绝对路径,应用程序可以在这些存储设备上放置它拥有的持久文件。这些文件是应用程序的内部文件,通常对用户不可见。
发布于 2019-05-01 08:13:37
我已经搜索了几天,找到了很多解决方案,最终给你提供了内置的“外部”存储。终于找到了这个“可移动”SD卡的解决方案,并想把它贴在这里,以防其他人还在看。
How to write on external storage sd card in mashmallow in xamarin.android
https://stackoverflow.com/questions/52645984
复制相似问题