这是实现您想要的分步指南。如果还有什么不清楚的地方,你也可以从 msdn获得这个。
你肯定会得到这样的代码:
private async Task ListSDCardFileContents()
{
List<string> listOfItems = new List<string>();
// List the first /default SD Card whih is on the device. Since we know Windows Phone devices only support one SD card, this should get us the SD card on the phone.
ExternalStorageDevice sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();
if (sdCard != null)
{
// Get the root folder on the SD card.
ExternalStorageFolder sdrootFolder = sdCard.RootFolder;
if (sdrootFolder != null)
{
// List all the files on the root folder.
var files = await sdrootFolder.GetFilesAsync();
if (files != null)
{
foreach (ExternalStorageFile file in files)
{
listOfItems.Add(file.Path);
}
}
}
else
{
MessageBox.Show("Failed to get root folder on SD card");
}
}
else
{
MessageBox.Show("SD Card not found on device");
}
}
file
位于files
循环内的变量是ExternalStorageFile类型。该Path
物业似乎是您需要的:
此路径相对于 SD 卡的根文件夹。
最后,不要忘记在应用程序的 WMAppManifest.xml 中添加ID_CAP_REMOVABLE_STORAGE 功能并注册文件关联:
我们需要声明向应用程序注册某个文件扩展名的附加功能。为了确保我们可以读取某种类型的文件,我们需要在 Application Manifest 文件中通过扩展名注册文件关联。为此,我们需要以代码形式打开 WMAppManifest.xml 文件并进行以下更改。