【问题标题】:NFC read/write with flutterNFC 读/写颤振
【发布时间】:2019-07-09 04:55:22
【问题描述】:
我想尝试一下 Flutter,但到目前为止我只找到了 NFC 阅读器插件。我还需要另外两件事。
在我离开普通的 android 之前,我只需要确认它完全可行,并且需要朝着正确的方向前进。
【问题讨论】:
标签:
android
flutter
nfc
flutter-plugin
【解决方案1】:
也许我参加聚会有点晚了,但是由于我刚刚解决了一个非常相似的问题,所以我想就这个话题发表意见:
所以用 Flutter 读/写 NFC 是可能的。如前所述,您需要一个平台通道来将命令传递给本机系统,AND 一个事件通道,如果您想将数据读取到您的 Flutter 应用程序,以完成此任务。
最好的方法是,如果有一个插件可以处理这个问题,但是我无法获得你提到的那个也可以与我的颤振应用程序一起使用(特别是因为我尝试使用 IOS 和 swift)。
然而,这里有一些资源,我把我的系统一起困惑了:
-
flutter 到 native system via platform channels 的通信:这个链接是官方的 Flutter 页面,有趣的是只描述了从 Flutter 到 Native System 的通信,而不是其他方式。对于您需要的其他方式:
- 通过event channels从本机系统到flutter应用程序的通信:(是的,您需要一个不同的渠道来与flutter应用程序进行通信)。此示例仅适用于安卓。对于 swift,我只能找到 this ressource,但它似乎有点旧。
- IOS NFC 教程:只要你有一个开发者帐户,这实际上非常简单。一个很好的简约教程可以找到here
- Android NFC 教程:这实际上更简单,因为 nfc 在 android 上建立的时间更长。我喜欢this一个
【解决方案2】:
我认为您想要做的事情绝对是可能的,但正如您在问题中提到的那样,您将不得不使用平台频道。
平台渠道可以双向;您应该能够设置它,以便您的主要活动接收 NFC 标签呈现意图,然后您将方法调用从 android 发送到 dart。或者您可以从 dart 开始监听,然后在收到意图时让方法返回。
写入 NFC 也差不多,使用方法通道来调用。
根据您的工作,您可能需要考虑将 NFC 功能拆分为一个插件,即使您最终没有发布该插件。
【解决方案3】:
使用来自 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 标签书写愉快!!