我想创建一个应用程序,通过NFC在两台设备之间交换信息。
我知道如何使用Android Beam让一个移动设备向另一个移动设备发送信息。我不知道的是,只需轻轻一按,两部手机就可以相互发送数据。
这可能吗?如果是,怎么样?
答案 0 :(得分:3)
这取决于您要实现的目标以及您正在使用的Android版本:
两个设备都可以发送一个 NDEF消息,无需用户交互。消息不能相互依赖(即,一个设备发送消息并且另一个设备发送消息的可能性不大)。您可以使用enableForegroundNdefPush()
和enableForegroundDispatch()
的组合来实现此目标。
两个设备都可以(理论上)每次触摸发送一个 NDEF消息,但两个设备都需要用户交互(即用户需要触摸Beam UI)。此外,两个设备上的Beam UI需要同时触及 。否则,由于收到的NDEF消息,其他设备上的Beam UI将被中断。因此,这个"解决方案"是不是真的可用。您可以使用setNdefPushMessage*()
和enableForegroundDispatch()
的组合来实现此目标。
从4.4版开始,Android有两个新功能:
当您将这些功能组合在一起时(即您在一台设备上安装了HCE主机卡仿真服务并将第二台设备置于阅读器模式),两台设备之间可以相互通信(真正的双向通信< / strong>)使用ISO 7816-4 APDU。
答案 1 :(得分:0)
这是可能的,如在线here所述。 SDK中提供的API演示中还有一个API演示,可以对此进行讨论。
但是,请记住,NFC的有效负载大小非常小,而且您不太可能使用它传输任何大小的数据。 NFC应该用于快速设置蓝牙连接,或者像WiFi direct这样的其他形式的无线传输,然后可以用来传输更大量的数据。