如何在Windows Phone 8上永久删除库文件
本文关键字:删除 文件 Windows Phone | 更新日期: 2023-09-27 18:12:56
我尝试使用Windows Phone 8.1的新api。我听说我可以从应用程序中删除库文件。但是当我尝试使用函数"StorageFile。DeleteAsync",我只看到文件从localStorage中删除,而不是从音乐库(真正的存储)中删除。
我真的可以在Windows phone 8.1操作系统下从库中删除文件吗?
我只是想知道如何实现它。我知道这是可能的,他们有很多应用程序如何允许管理文件(读,写),像"Aerize资源管理器",例如
这是我使用的代码:
#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);
}
}
回答你的问题:
我真的可以在Windows phone 8.1操作系统下从库中删除文件吗?
是的,你可以——这里有一个应用程序的例子(WP8.1运行时),它做了——测试时,它删除文件永久,不提示;)。它主要由以下几行组成:
var listBefore = (await KnownFolders.MusicLibrary.GetFilesAsync()).ToList();
await listBefore.FirstOrDefault().DeleteAsync(StorageDeleteOption.PermanentDelete);
var listAfter = (await KnownFolders.MusicLibrary.GetFilesAsync()).ToList();
我得到StorageFiles的列表,然后删除它们中的第一个。结果,当我第二次得到文件列表时——它缺少一个文件(被删除的那个)。所以这是可行的。
记得添加Capabilities、MusicLibrary和/或 movable Storage。注意要删除的文件是否在其他地方没有使用。
因为我发现我无法刷新手机上的文件在资源管理器窗口(通过USB在Windows中浏览)。为了看到结果(文件丢失),我不得不拔掉插头,重新插上手机。