Сбой приложения при открытии FTP-ссылки в браузере с помощью Device.OpenUri (uri) в Xamarin - PullRequest
0 голосов
/ 18 апреля 2019

В настоящее время я внедряю часть приложения Xamarin, которая должна открывать ссылки в браузере после нажатия URL-адреса.Мне нужно добавить поддержку http, https, ftp и ftps.Наше приложение использует .NET Standard 1.6 (поэтому не может использовать класс WebClient или класс FtpWebRequest).

Device.OpenUri (uri) отлично работает с http и https в iOS и Android.Но работает только с iOS для FTP-ссылок.С Android приложение вылетает со ссылками ftp.

Для ссылок на файлы с ftp мне удалось загрузить файлы с помощью FluentFTP (версия = "23.1.0").

Теперь мне нужно добавить поддержку ftp-ссылок со структурами каталогов , чтобы открыть эту структуру каталогов в браузере.(Как и поведение браузера Chrome по умолчанию)

Я пробовал:

  • Device.OpenUri (uri),
  • Путем создания намерения (Не работает дляftp)

1 Ответ

0 голосов
/ 18 апреля 2019

То, что вы должны делать, выглядит примерно так:

  • Создайте интерфейс для службы зависимостей для Android.

    public interface IWebFTPClient<T>
    {
        Task<T> MakeFtpRequestAsync(); //Add Parameters if needed
    }
    
  • Затем вызовите метод службы зависимости:

    DependencyService.Get<IWebFTPClient<YourType>>().MakeFtpRequestAsync();
    

Примечание. Приведенный выше код является примером и может потребовать изменений в соответствии с вашими потребностями

  • Поскольку FtpWebRequest доступен на родном андроиде, используйте его примерно так:

    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
    

Удачи

Возврат, если у вас есть вопросы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...