如何在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上永久删除库文件

回答你的问题:

我真的可以在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的列表,然后删除它们中的第一个。结果,当我第二次得到文件列表时——它缺少一个文件(被删除的那个)。所以这是可行的。

记得添加CapabilitiesMusicLibrary和/或 movable Storage。注意要删除的文件是否在其他地方没有使用。

因为我发现我无法刷新手机上的文件在资源管理器窗口(通过USB在Windows中浏览)。为了看到结果(文件丢失),我不得不拔掉插头,重新插上手机。