【发布时间】:2021-12-01 23:52:47
【问题描述】:
我一直在努力寻找是否可以在不将 NFC 标签移开然后移回的情况下触发tag_discovered。我的发现表明,在某些设备上,只需使用以下命令 nfcA.close() 关闭 NfcA 连接即可。似乎不同的制造商以不同的方式实现这一点(?)。
还有其他方法可以破坏设备和 TAG 之间的 NFC 场吗?
我也试过禁用 NfcAdapter 和 NfcManager。这似乎也适用于某些设备但不是全部:
// Disable
nfcAdapter.disableForegroundDispatch(this)
nfcManager.defaultAdapter.disableReaderMode(this)
// Enable
val option = Bundle()
option.putInt(NfcAdapter.EXTRA_READER_PRESENCE_CHECK_DELAY, 2000)
nfcAdapter.enableReaderMode(this, nfcManager, NfcAdapter.FLAG_READER_NFC_A, option)
我们将不胜感激。
【问题讨论】:
-
重新连接的原因是什么?如果您没有关闭连接,则无需重新连接。
-
我正在执行一个需要我重新检测 TAG 的命令。
-
不知道为什么执行多个命令会强制您重新连接,我已经向卡发出了 100 条命令而没有重新连接。
-
如果您指定了您正在使用的标签类型以及强制您重新连接的命令的细节,这可能会有所帮助,因为我怀疑这不是标准命令或完全兼容的标签。
-
我不明白为什么这与原始问题有关?问题很简单,是否有可能以某种方式破坏 NFC 标签和设备之间的 NFC 场,而无需重新引入物理场。这是一个 NfcA TAG,我只能这么说。