首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin FilePicker阻止UserDialog

Xamarin FilePicker阻止UserDialog
EN

Stack Overflow用户
提问于 2020-03-16 22:23:25
回答 1查看 177关注 0票数 2

我正在使用这个方法

代码语言:javascript
复制
srcPath = await CrossFilePicker.Current.PickFile();

从Xamarin.Plugin.FilePicker包中。这很好用,我可以在我的设备上选择一个文件。之后,我想通过以下方式给用户反馈

代码语言:javascript
复制
 await UserDialogs.Instance.AlertAsync(message);

但是,在Android Samsung SM-T805上,对话消息被阻止。

在我看来,FilePicker并没有完全关闭。当到达PickFile()方法时,会出现两个窗口:一个标题为Android的深色窗口,以及在确认访问外部存储之后的实际文件选择器。一旦我选择了一个文件,文件选择器就消失了,我的下一段代码就被执行了。但背景层(深色,标题为Android)直到我离开Xamarin.Forms.Command方法时才会消失,我将其链接到一个触发文件拾取方法的按钮。

我的代码(大致):

代码语言:javascript
复制
[...]
using Xamarin.Forms;
using Plugin.FilePicker;
using Acr.UserDialogs;

namespace SomeNameSpace
{
    public class SomeViewModel
    {
        [...]
        public Command ImportCommand => new Command(() => ChooseFile());

        private async void ChooseFile()
        {
            string srcPath = await CrossFilePicker.Current.PickFile();
            await UserDialogs.Instance.AlertAsync("Help Me Please.");

            // Further Code
            [...]
        }
    }
}

有什么想法吗?提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-17 19:55:43

Nicole Lu暗示要使用DisplayAlert而不是UserDialogs。仅仅改变这个方法是不够的。但是DisplayAlert可以让你决定在哪个页面上发送警报。因此,诀窍是在使用FilePicker之前先保存当前页面,然后再向该页面发送警报。以下是更新后的代码:

代码语言:javascript
复制
[...]
using Xamarin.Forms;
using Plugin.FilePicker;
using Acr.UserDialogs;

namespace SomeNameSpace
{
    public class SomeViewModel
    {
        [...]
        public Command ImportCommand => new Command(() => ChooseFile());

        private async void ChooseFile()
        {
            Page page = App.Current.MainPage;
            string srcPath = await CrossFilePicker.Current.PickFile();
            await page.DisplayAlert("Help", "Please help me.", "OK");

            // Further Code
            [...]
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60707713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档