在Android中更改NfcA超时长度

时间:2011-07-29 18:51:10

标签: android nfc

我想知道如何更改从Android中的NfcA类型卡接收回复的超时时间。我看到了如何在Iso-Dep型卡上更改它,而不是在NfcA型卡上更改它。另外,有人知道NfcA卡超时有多长? 我正在使用自定义卡,想知道在我必须回复之前我在卡上有多少处理时间。

2 个答案:

答案 0 :(得分:0)

  1. NfcA只是IsoDep的子类型,因此IsoDep超时适用于NfcA和NfcB。

  2. NFC-Stack应与标签协商合适的超时值并使用它。但是,如果连接到具有超出时序限制的应用程序的智能卡(警告:程序员警报错误!),可能需要提高超时以使工作正常。

  3. 在这种情况下,请使用IsoDep命令并延长超时时间。

    如果您与编写智能卡代码的人有联系,您甚至可以得到关于某些命令(加密哈希计算是一个常见问题)可能需要多长时间的答案。如果您没有联系,您可以只是实验。

    另一件事:从Android API来看,您可以完全控制超时值。这不是真的!如果将其扩展到高级协议允许的范围之外,则会遇到很多麻烦。在这种情况下,您可以期待从不可靠的功能到NFC子系统的完全崩溃。 (只是说..)

答案 1 :(得分:0)

从API级别14开始,NfcA还有一个setTimeout()。在该API级别之前,超时是固定的,大约是300毫秒。