Android FTP 意图

Posted

技术标签:

【中文标题】Android FTP 意图【英文标题】:Android FTP Intent 【发布时间】:2017-01-30 13:34:25 【问题描述】:

我正在开发一个应用程序,该应用程序通过使用在手表上运行的 FTP 服务器与 android Wear 手表之间传输文件。现在我通过在智能手机上创建热点将设备连接到同一个网络。然后在手表上启动 FTP 服务器,智能手机可以连接到它。问题是我想创建一个简单而通用的应用程序来从智能手机连接。但是热点使用 DHCP,我不能分配静态 IP 来观看,所以我只想为智能手机创建一个小应用程序,它会创建类似 FTP 意图的东西,然后一些文件浏览器应该打开这个意图。例如,我准备好意图:

String url="ftp://user:pass@192.168.43.5:21"
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

但我收到no activity to handle intent found 异常,安装了 es 文件资源管理器和实体文件资源管理器。我曾尝试使用 AndFTP,它提供了非常好的意图文档,但它不是很稳定。您是否知道 ES 文件浏览器或类似的东西是否可以接受打开 ftp 连接的意图?

【问题讨论】:

FTP 监视?真的吗? 是的,这是一种非常快速的文件传输和观看方式 当我在设备上尝试您的代码时,Opera 浏览器出现了。 intent.setDataAndType(Uri.parse(url), "*/*");。让用户在 ES Downloader 和 Opera 之间进行选择。 ES Downloader 将开始尝试下载一些东西。也许您也必须提供文件路径才能使其正常工作。 【参考方案1】:

我不知道 ES 文件资源管理器或任何其他应用程序,但我发现它可以使用 chrome 完成,但需要一点技巧。通过使用谷歌浏览器的导航器。

    String url = "ftp://user:pass@192.168.43.5:21";

    String uri = "googlechrome://navigate?url=" + url;
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(uri));

    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    i.setPackage("com.android.chrome");

最后两行是专门在chrome中打开intent。

我希望这能解决你的问题。

【讨论】:

以上是关于Android FTP 意图的主要内容,如果未能解决你的问题,请参考以下文章

Android 相机意图在 Android 11 中没有响应

Android 意图选择器不能有空的意图目标

android - 是不是可以使用私有意图而不是全局意图?

Android--Intent(意图)

Android 之 Intent(意图)

Android显式意图和隐式意图