【发布时间】:2012-10-13 02:20:10
【问题描述】:
我正在开发一个需要在 Android 手机和 PC 之间进行 NFC 通信的项目。我使用 Galaxy S3 作为 android 手机和 ACR122 作为 NFC 阅读器。我已经在here 和here 尝试了应用程序。
我使用 android sdk 中的示例应用程序通过 NFC 发送 NDEF 消息。
无论我尝试了多少次,我都无法在手机和电脑之间建立连接。 Android 应用程序工作正常,因为它可以通过其他手机推送 NDEF 消息,但是在与 PC 连接时,它不起作用。当我将手机触碰阅读器时,阅读器上的 LED 会从红色变为闪烁的绿色和橙色,但没有其他反应。
有 ismb-npp-java 应用程序的日志输出:
获取工厂
获取终端
终端名称:ACS ACR122 0
T=1
调用 rightProcedureTarget..
[debug] {sending 0xBB 0xBA 0xA6 0xC9 0x89 0x00 0x00 0x06 0x46 0x66 0x6D 0x01 0x01 >0x10 0x00
it.ismb.npp.IsmbNppException:传输数据问题
[DEBUG] {sending [7 bytes]} 0xFF 0x00 0x00 0x00 0x02 0xD4 0x86
[debug] {发送[26字节]} 0xff 0x00 0x00 0x0x15 0xd4 0x8e 0x05 0x20 0x06 0x0f 0x63> 0x6f 0x6d 0x2e 0x61 0x6e 0x64 0x72 0x6f 0x69 0x64 0x2e 0x6e 0x70 0x70
在 it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:281)
在 it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:301)
在 it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)
在 it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)
在 java.util.TimerThread.mainLoop(未知来源)
在 java.util.TimerThread.run(未知来源)
it.ismb.npp.IsmbNppException:传输数据问题
在 it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:281)
在 it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:306)
在 it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)
在 it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)
在 java.util.TimerThread.mainLoop(未知来源)
在 java.util.TimerThread.run(未知来源)
线程“Timer-0”java.lang.IllegalStateException 中的异常:卡已被移除
在 sun.security.smartcardio.CardImpl.checkState(Unknown Source)
在 sun.security.smartcardio.ChannelImpl.checkClosed(Unknown Source)
在 sun.security.smartcardio.ChannelImpl.transmit(未知来源)
在 it.ismb.npp.IsmbNppConnection.transceive(IsmbNppConnection.java:263)
在 it.ismb.npp.IsmbNppConnection.rightProcedureTarget(IsmbNppConnection.java:317)
在 it.ismb.npp.SenderToPhone$ThreadSender.run(SenderToPhone.java:90)
在 it.ismb.npp.SenderToPhone$InitiatorTask.run(SenderToPhone.java:75)
在 java.util.TimerThread.mainLoop(未知来源)
在 java.util.TimerThread.run(未知来源)
我已经使用了所有能找到的驱动程序(包括最新的驱动程序),但问题仍然存在。
设备可能有问题吗?还是我在这里遗漏了什么?
【问题讨论】:
-
您的设备是否可以用于读卡等? P2P 也可以尝试 http://www.libnfc.org 和 code.google.com/p/nfc-tools/source/browse/trunk/libnfc-llcp。
标签: java android nfc android-beam nfc-p2p