使用Flutter接收共享文件意图

15

我正在寻找一种方法,使我的Flutter应用程序能够接收来自其他应用程序的意图,但未找到任何方法。

我想要接收意图而不是发送它们。

例如:

我想要打开相册并单击共享按钮,然后从菜单中选择我的Flutter应用程序。 然后,我的Flutter应用程序将接收包含图片的意图(稍后通过HTTP请求发送)。

有人知道如何做吗?


2
https://flutter.io/flutter-for-android/#how-do-i-handle-incoming-intents-from-external-applications-in-flutter - Günter Zöchbauer
有没有一个可以做本地事情的插件? 我更喜欢只使用Dart。 - noam aghai
@noamaghai 我想在仅使用Dart插件处理所有用例可能会非常困难。接收意图非常应用程序特定,以及Android / iOS特定。 - Benjamin Scholtz
@YodaScholtz 我认为只是为了防止Dart开发者介入Java部分的项目,我的意思是将Java类的Intent“转换”为Dart类,让开发者自己处理。 - noam aghai
如果我遇到任何问题,我会让你知道的。在那之前,第一条评论的答案可以使用,并且不会深入Java。也可以使用Kotlin - 更好用 ;) - Benjamin Scholtz
非常感谢,(Java不是问题,我会Java),但我更喜欢使用Dart。 无论如何还是谢谢;) - noam aghai
3个回答

5

你可以使用 flutter-share,所有信息在 Github

除了改变MainActivity的继承,您不必涉及Java。

它对Android是完全功能的,iOS部分正在开发中以匹配Android部分。

更新(2020年):

现在你也可以使用receive_sharing_intent包。更多信息请参见pub.dev


这个插件在安卓上运行不太好,有安卓异常,请修复它。 - noam aghai
嗨@noamaghai,非常感谢您的反馈, 我可以请您在Github页面上提交一个问题,并提供有关崩溃的详细信息,例如堆栈跟踪,以及您如何设置插件以及在崩溃之前做了什么,请这样做,以便我可以帮助您!再次感谢。 - dsilveira
我没有收到任何电子邮件通知 :O 我已经阅读并回复了,请让我们继续在那里进行调试。谢谢 - dsilveira
@dsilveira iOS支持的预计时间是多久?我需要这个来完成我的项目。 - Salx
这个在iOS 14上能用吗?我的尝试从来没有在真机上产生分享目标。 - ThorstenC
显示剩余2条评论

2

1
不支持IOS分享。 - E.Bradford

1

这个问题已经有答案了,但我想分享更多细节。

在这里,您可以使用receive_sharing_intent包。它是空安全的,并支持Android和iOS平台。使用此包,您可以在开放和关闭的应用程序中接收文本和多个媒体文件。因此,它使生活更轻松。

为了进一步了解如何接收文本和多个媒体文件,您可以查看link。同时,您还将了解如何在关闭的应用程序中接收意图。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接