从视频库中移除文件夹问题

我有一个uwp项目,其中有个功能是关于从视频库中移除文件夹的,有一些问题。

使用官方文档

bool result = await myPictures.RequestRemoveFolderAsync(folder);

执行该代码时,可以正常使用,就是偶尔会出现异常

[System.Exception:The remote procedure call failed.(Exception from HRESULT: 0x800706BE)
at Windows.Storage.StorageLibrary.RequestRemoveFolderAsync(StorageFolder folder)].

比方说,看了一会视频,再回头执行删除文件夹代码时,就会出现异常,向官方问了,也没有得到好的解决办法。

为了解决项目的使用体验问题,我就临时使用了这个办法:每次执行删除文件夹时,都重新获取视频库及其包含的文件夹。

var removeLibrary = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Videos);//获取视频库
var myLibraryFolders = removeLibrary.Folders;//获取视频库中包含的所有文件夹

然后再执行删除文件夹

foreach (var folder in myLibraryFolders)
   {

    if (folder.Path == remove_library.FolderPath)
       {
         result_bool = await removeLibrary.RequestRemoveFolderAsync(folder);
       }
   }
//其中remove_library是列表控件里,选中的一个自定义类的实例,通过文件夹绝对路径进行遍历删除。

若有更好的解决办法,欢迎大神留言告知,谢谢!

posted @ 2019-11-23 16:37  singhwong  阅读(275)  评论(0编辑  收藏  举报