我尝试使用Windows Phone 8.1的新api。 我听说我可以从应用程序中删除库文件。但是当我尝试使用函数" StorageFile.DeleteAsync" ,我只是看到从localStorage中删除的文件,而没有从音乐库(真正的存储)中删除。
我真的可以使用Windows Phone 8.1 O.S从库中删除文件吗?
我只想知道如何实现它。我知道它是可能的,他们有很多应用程序如何允许管理文件(读,写)像#34; Aerize Explorer"例如
这是我使用的代码:
#region Main
public Main()
{
Task.Run(async () => Global.Explorer.DeleteMusicFile(await KnownFolders.MusicLibrary.GetFileAsync("title.mp3")));
}
#endregion
public class FileExplorer
{
// DeleteFile
public async Task DeleteMusicFile(StorageFile fileToDelete)
{
await fileToDelete.DeleteAsync(StorageDeleteOption.PermanentDelete);
}
}
答案 0 :(得分:2)
回答你的问题:
我真的可以使用Windows Phone 8.1 O.S从库中删除文件吗?
是的,您可以 - here is an example of an App(WP8.1运行时)执行此操作 - 在测试时查看 - 它会在不提示的情况下删除文件,而不会提示;)。它主要由以下几行组成:
var listBefore = (await KnownFolders.MusicLibrary.GetFilesAsync()).ToList();
await listBefore.FirstOrDefault().DeleteAsync(StorageDeleteOption.PermanentDelete);
var listAfter = (await KnownFolders.MusicLibrary.GetFilesAsync()).ToList();
我得到了 StorageFiles 的列表,然后我删除了第一个。结果,第二次我得到文件列表 - 它缺少一个文件(删除的文件)。所以它有效。
请务必添加功能: MusicLibrary 和/或可移动存储。并注意您要删除的文件是否未在其他地方使用。
因为我发现我无法在资源管理器窗口中刷新手机上的文件(通过USB在Windows中浏览)。要查看结果(文件丢失),我不得不重新插上电源并重新插上电话。