以下代码几乎是FileOpenPicker类的MSDN示例的逐字记录。
FileOpenPicker picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".png");
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
StorageFile file = await picker.PickSingleFileAsync();
当我从按钮触发它时,我从最后一行得到以下异常:
System.UnauthorizedAccessException的
访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))
我认为在这种用法中FileOpenPicker的想法是我不需要询问用户访问权限或指定任何功能?
答案 0 :(得分:2)
我在调用PickSingleFileAsync()
之前设置了一个断点。事实证明,在边框内按下TextBlock时会触发两个tapped事件(两者都使用相同的Tapped事件处理程序)。
第一个调用按预期工作,但后续调用导致UnauthorizedAccessException,并且会在显示选择器后直接发生。