在Xamarin中使用Device.OpenUri(uri)在浏览器中打开ftp链接时,应用程序崩溃

问题描述 投票:0回答:1

我目前正在实施Xamarin应用程序的一部分,该应用程序需要在单击URL后在浏览器中打开链接。我需要添加对http,https,ftp和ftps的支持。我们的应用程序使用.NET Standard 1.6(因此,不能使用WebClient Class或FtpWebRequest类)。

Device.OpenUri(uri)适用于iOS和Android中的http和https。但只适用于iOS for ftp链接。使用Android,应用程序崩溃与ftp链接。

对于ftp的文件链接,我设法使用FluentFTP(version =“23.1.0”)下载文件。

现在我需要添加对目录结构的ftp链接的支持,以在浏览器中打开该目录结构。 (与Chrome浏览器的默认行为一样)

我试过了:

  • Device.OpenUri(S)
  • 通过创建一个intent(不适用于ftp)
android url xamarin.forms xamarin.android ftp
1个回答
0
投票

你应该做的是如下:

  • 为Android的Dependency Service创建一个界面。 public interface IWebFTPClient<T> { Task<T> MakeFtpRequestAsync(); //Add Parameters if needed }
  • 然后调用依赖服务方法: DependencyService.Get<IWebFTPClient<YourType>>().MakeFtpRequestAsync();

注意:上面的代码是一个示例,可能需要根据您的需要进行更改

  • 由于FtpWebRequest在原生android中可用,请使用如下内容: FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);

祝好运

如果您有疑问,请恢复

© www.soinside.com 2019 - 2024. All rights reserved.