我想尝试使用Flutter,但目前只找到了NFC读卡器插件。我还需要另外两个东西。
在NFC标签出现时做出反应,然后可能使用NFC插件进行读取
写入NFC标签,可能需要使用平台通道
我只需要确认在Flutter中是否可行,并需要正确的指引,然后才能离开普通的Android。
我想尝试使用Flutter,但目前只找到了NFC读卡器插件。我还需要另外两个东西。
在NFC标签出现时做出反应,然后可能使用NFC插件进行读取
写入NFC标签,可能需要使用平台通道
我只需要确认在Flutter中是否可行,并需要正确的指引,然后才能离开普通的Android。
或许我来晚了一些,但是因为我刚刚解决了一个非常类似的问题,所以我想在这个话题上发表一下我的看法:
使用Flutter读写NFC是可能的。正如之前提到的那样,您需要通过平台通道将命令交给本地系统,并且如果您想将数据读取到Flutter应用程序中,则需要使用事件通道来完成此任务。
最好的方法是使用可用的插件来处理此操作,但是我无法使你提到过的这个插件与我的Flutter应用程序一起工作(特别是因为我尝试了IOS和Swift)。
以下是一些资源,从中我组合出了我的系统:
我认为你想要做的事情肯定是可行的,但正如你在问题中提到的,你将不得不使用平台通道。
平台通道可以双向传输;你应该能够设置它,使得你的主活动接收NFC标签存在意图,然后你从Android发送一个方法调用到Dart。或者你可以从Dart开始监听,然后当意图被接收时返回该方法。
写入NFC大致相同,你使用方法通道进行调用。
根据你所做的事情,你可能需要考虑将NFC功能拆分成插件,即使你最终不发布该插件。
通过这个从flutter-nfc-reader分支出来的项目,你现在可以从安卓设备读写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
在该仓库的Readme.md文件中包含了安装和使用说明。
祝您愉快地编写NFC标签!