Я использую метод
srcPath = await CrossFilePicker.Current.PickFile();
из пакета Xamarin.Plugin.FilePicker. Это прекрасно работает, и я могу выбрать файл на моем устройстве. После этого я хочу дать пользователю обратную связь через
await UserDialogs.Instance.AlertAsync(message);
Однако на Android Samsung SM-T805 диалоговое сообщение заблокировано.
Мне кажется, что FilePicker не полностью закрыт. При достижении метода PickFile () появляются две windows: темная с названием Android и, после подтверждения доступа к внешнему хранилищу, собственно средство выбора файлов. Как только я выбрал файл, средство выбора файлов исчезает, и мой следующий код выполняется. Но фоновый слой (темный, с названием Android) не исчезнет, пока я не покину метод Xamarin.Forms.Command, который я связал с кнопкой, вызывающей метод выбора файла.
Мой код (примерно):
[...]
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
[...]
}
}
}
Есть идеи? Заранее спасибо!