【问题标题】:Is it possible to make two-way communication between two devices via NFC?是否可以通过 NFC 在两个设备之间进行双向通信?
【发布时间】:2013-05-23 11:27:42
【问题描述】:
我正在尝试提供一个通过 NFC 在两个不同设备之间发送多个数据的应用程序。例如:设备 1 发送“日期”评论,设备 2 通过 NFC 通信获取评论,然后设备 2 检查来自设备 1 的评论。对于设备2,“日期”表示今天的日期,然后设备2同时发送响应消息(例如23.05.2013 14:21:45)。不仅“日期”注释,还应使用其他 cmets 进行通信。例如:当 device1 通过 NFC 发送“你是谁”评论时,device2 应该同时发送“我是 Alice 的设备”。可能吗?我可以同时在两个不同的设备之间进行这样的通信吗?谢谢您的帮助。
【问题讨论】:
标签:
android
callback
nfc
nfc-p2p
【解决方案1】:
无法通过 Android Beam 发送数据以响应通过 Android Beam 传输的接收到的 NDEF 消息。
从技术上讲,Android Beam 所基于的协议 (LLCP) 允许同时在大约 240 个逻辑通道上进行双向数据交换。此功能只是不向 Android 应用程序公开。
您可以期待 API 更新,但我不会等待。 Android 2.3.3 中存在一个隐藏的 API,但后来由于某种原因被删除。
【解决方案2】:
正如 Nils 所说 - 仅通过 NFC,由于 Android API 有限,这是不可能的。
但是,我知道通过使用连接切换来实现它的一种方法。从本质上讲,NFC 通信用于向另一台设备发送一些凭据,从而允许它们两者通过蓝牙连接。
EasyNFC 库声称可以实现这种蓝牙功能。我试了一下,我认为我能够设置一个套接字,但从未正确测试过它。我觉得它不太可靠,我不想在我的应用程序中添加蓝牙,也不想使用“Touch-to-beam”用户界面。