从视频库中移除文件夹问题
我有一个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是列表控件里,选中的一个自定义类的实例,通过文件夹绝对路径进行遍历删除。
若有更好的解决办法,欢迎大神留言告知,谢谢!