如何在Windows Phone 8上永久删除库文件?

时间:2014-07-13 20:49:13

标签: c# file windows-phone-8 windows-phone-8.1

我尝试使用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);
        }
    }

1 个答案:

答案 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中浏览)。要查看结果(文件丢失),我不得不重新插上电源并重新插上电话。