4

我想尝试一下颤振,但到目前为止我只找到了 NFC 阅读器插件。我还需要另外两件事。

  • 对 NFC 标签呈现意图做出反应,然后可能使用 NFC 插件来读取它

  • 写入 NFC 标签,可能使用平台通道

在我离开普通的 android 之前,我只需要确认它完全可行,并且需要朝着正确的方向前进。

4

3 回答 3

5

也许我参加聚会有点晚了,但是因为我刚刚解决了一个非常相似的问题,所以我想谈谈这个话题:所以用 Flutter 读/写 NFC 是可能的。如前所述,您需要一个平台通道来将命令传递给本机系统,如果您想将数据读取到您的 Flutter 应用程序,则需要一个事件通道来完成此任务。

最好的方法是,如果有一个插件可以处理这个问题,但是我无法获得你提到的那个也可以与我的颤振应用程序一起使用(特别是因为我尝试使用 IOS 和 swift)。然而,这里有一些资源,我对我的系统感到困惑:

  • 通过平台通道Flutter本机系统的通信:此链接是官方的 Flutter 页面,有趣的是仅描述了从 Flutter 到本机系统的通信,而不是相反的方式。对于您需要的另一种方式:
  • 通过事件通道本机系统Flutter 应用程序的通信:(是的,您需要一个不同的通道来与 Flutter 应用程序进行通信)。此示例仅适用于安卓。对于 swift,我能找到的只是这个资源,但它似乎有点旧。
  • IOS NFC 教程:只要您有开发者帐户,这实际上非常简单。一个很好的简约教程可以在这里找到
  • Android NFC 教程:这实际上更简单,因为 nfc 在 android 上建立的时间更长。我喜欢这个
于 2019-07-29T11:16:23.690 回答
0

我认为您要做的事情绝对是可能的,但是正如您在问题中提到的那样,您将不得不使用平台频道。

平台渠道可以双向;您应该能够设置它,以便您的主要活动接收 NFC 标签呈现意图,然后您将方法调用从 android 发送到 dart。或者您可以从 dart 开始监听,然后在收到意图时让方法返回。

写入 NFC 大致相同,您使用方法通道进行调用。

根据您的操作,您可能需要考虑将 NFC 功能拆分为一个插件,即使您最终没有发布该插件。

于 2019-02-15T07:55:10.683 回答
0

使用来自 flutter-nfc-reader 的这个 fork,您现在可以从 android 读取和写入 nfc 标签并从 ios https://github.com/semakers/flutter-nfc-reader读取它们

要安装,请在 pubspec.yaml 中添加以下依赖项

 dependencies:
  flutter_nfc_reader:
    git:
      url: git: //github.com/semakers/flutter-nfc-reader.git
      ref: master

在 repo 的 Readme.md 中有安装和使用说明。

快乐的 NFC 标签写作!

于 2019-08-07T14:44:19.720 回答