如何将Android手机上的NDEF消息发送到iPhone

时间:2019-07-16 11:48:50

标签: android ios flutter nfc core-nfc

我正在使用Flutter开发一个Android + iOS应用,该应用具有多个用户交互屏幕和NFC屏幕。

在NFC屏幕上,用户背对背轻按手机(就像我们对Android Beam数据传输所做的那样):一部手机是Android手机,该手机正在运行应用并发送此example中的NFC NDEF消息。

正在运行带有NFC屏幕的第二个电话“我的应用程序”,并使用nfc_in_flutter(在flutter中只有3个nfc插件,这是目前似乎唯一维护的nfc插件)读取NDEF插件并显示在屏幕上。

这种情况在Android设备上可以正常工作,但是在iOS设备上,当我点击Android设备时,它什么也没有发生。 它不会读取。

我用iOS设备测试了简单的NFC标签(不是Android设备),它读取了标签。 有人可以解释原因吗?

这是我的假设,如果我错了,请纠正我: 由于iOS仅支持NDEF格式,不支持HCE,因此我应该将NDEF从Android发送到iOS。

我对主机卡仿真的了解:

为了使设备像卡一样工作(或使用HCE),应用需要创建HostApduService。当此服务运行时,电话(以及应用程序本身)能够识别阅读器,如果一切正常,它将发送有效载荷。消息的格式为IsoDep(不是NDEF)。

另一方面,读取器侧发送ADPU建立连接,如果正常,则接收有效负载。

在上述example中,发件人创建NDEF消息,并且由于未创建HostApduService而不能用作卡(HCE)。

因此,如果iOS支持NDEF消息,为什么全世界的iOS设备都不从Android设备上读取消息?

0 个答案:

没有答案