安卓NFC与USB-NFC读卡器的使用方法

4
我有一个安卓平板,版本为Android 4.2。该平板没有NFC硬件。但是我有一个外部USB读卡器:ACR 1252U,它附带了一个安卓库。不幸的是,该库只提供基本功能——读写标签。虽然这个功能已经工作得相当好了,但这还不够……因为我需要将文件从我的Android 4.2平板传输到其他NFC设备(安卓智能手机)。所以我需要把NFC读卡器置于点对点模式——它支持此功能。但是,如何在我的设置中实现这一点呢?确实有一个适用于该读卡器的SDK,但仅限于Windows系统。

  • 是否可以使用Android的内置NFC功能与外部USB读卡器配合使用?
  • 是否有另一个库适用于该读卡器,支持与其他NFC设备进行点对点通信?
  • 是否有其他硬件可以使用,以使此功能实现?

编辑: 链接的问题并没有解决我的问题:

  1. 它已经三年半了。在这段时间里,情况可能已经发生了很大的变化。
  2. 那个问题的答案(使用Android ACS库)是我自己问题的一部分......所以它不能成为答案。

可能是如何将外部NFC读卡器连接到平板电脑的重复问题。 - LaurentY
1个回答

4

有没有办法使用Android的内置NFC功能与外部USB读卡器配合使用?

不可能。如果您的Android设备没有配备NFC,那么就没有内置的NFC功能(即使在软件方面也没有)。在这种设备上,Android NFC API本质上只是一个空的存根实现,什么都不做。

是否有另一个库可支持此读卡器与其他NFC设备进行点对点通信?

ACS的库不会阻止您访问读卡器的点对点功能,所以我不明白为什么您要使用另一个库。请参见API规范第5.9节,了解如何使用读卡器的点对点功能。

我需要将文件从我的Android 4.2平板电脑传输到其他Android NFC设备

基于这个请求,我假设您想使用类似Android Beam的东西,建立一些快速的NFC外带频道,并通过该外带频道传输(大?)文件。

在这种情况下,您需要重新实现Android Beam堆栈(NFC点对点模式+ LLCP +简单NDEF交换协议+建立带外通信通道+通过该通道传输文件)。


谢谢!我的目标是将数据发送到另一部Android手机,但不使用蓝牙或WiFi。由于数据非常小(〜20kb),而NFC传输速率为424 kbit/s(= 53kB/s),理论上应该是可能的,你觉得呢? - Michael B
是的,这应该是可能的。我建议您检查读卡器是否支持卡模拟模式(然后第二个设备可以像访问 NFC 标签一样简单地访问它)。否则,您可能需要在读卡器模式下使用 HCE 模式来使用第二个设备。 - Michael Roland
我按照你的建议,检查了读卡器的模拟模式。不幸的是,我无法正确地将数据写入模拟标签。你能帮我解决这个问题吗? ;) https://dev59.com/kJHea4cB1Zd3GeqPkBCl - Michael B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接