微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

FileOpenPicker 在 Xbox One 上总是返回 null

如何解决FileOpenPicker 在 Xbox One 上总是返回 null

我目前正在完成我的 UWP 应用程序的更新(可在 XBox One 和 Windows 10 上使用),但在测试时,我发现 fileopenpicker 无法按预期工作:即使选择了文件,它也会返回 null,仅在 XBox One 上。 (在 Windows 10 上一切正常,返回一个 StorageFile。)

代码如下:

fileopenpicker picker = new fileopenpicker // New picker with filters
{
    viewmode = Pickerviewmode.Thumbnail,SuggestedStartLocation = PickerLocationId.Downloads,FileTypeFilter = { ".zip",".mcworld",".mcpack",".mcaddon" }
};

StorageFile packToImport = await picker.PickSingleFileAsync();

if (packToImport != null)
{
    try
    {
        Importer packImporter = new Importer();

        progresspanel.Visibility = Visibility.Visible;
        pTxt.Text = "Importing".GetLocalized();

        await Task.WhenAll(packImporter.Import(packToImport));

        progresspanel.Visibility = Visibility.Collapsed;
        pTxt.Text = string.Empty;
    }
    catch (Exception ex)
    {
        await MessageHelper.ShowContentBox("Error".GetLocalized(),ex.Message,"OK","");
    }
    finally
    {
        NavigationHelper.ReloadPage(typeof(PacksView));
    }
}

如果文件为空,我尝试添加一个 else 并执行。所以问题不在于之后执行Import() 函数

为了增加对发生的奇怪事情的精确度,fileopenpicker 正在使用旧版本的应用程序(当前在 Microsoft Store 上发布);我没有更改文件选择器代码

编辑:我想澄清一下 UWP Limitations on Xbox One 网站引用了 FolderPicker,但 FilePicker 工作而不是这个。

解决方法

根据文档:

文件夹选择器方案 Xbox 不支持与文件夹选择器相关的方案。请参阅 FolderPicker 类。

来源:https://docs.microsoft.com/en-us/uwp/extension-sdks/uwp-limitations-on-xbox?redirectedfrom=MSDN

这意味着你很幸运,如果它有效,你不应该期望它有效。即使该程序今天可以运行,也可能会被稍后的更新破坏。

,

我设法让这个工作。只需要针对较旧的 Xbox 版本:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。