gpt4 book ai didi

android - 如何重新连接到 IsoDep 标签?

转载 作者:行者123 更新时间:2023-12-04 00:27:01 26 4
gpt4 key购买 nike

我正在尝试从 Android 手机向 nfc 标签发送一些 apdu 命令并获得答案。使用的技术类型是 IsoDep。一切正常,但有时,当发送命令之间的时间间隔过长时,标签会切换到禁用状态,之后每次重新连接都会失败。

我的代码:

public byte[] transferCommand(byte[] command) throws Exception {
byte[] result = null;
if (iso == null) {
iso = IsoDep.get(tag);
iso.connect();
}
if (!iso.isConnected()) {
try {
iso.close();
iso.connect();
result = iso.transceive(command);
} catch (Exception ex) {
iso.close();
}
}
return result;
}

有人可以帮我吗?非常感谢。

最佳答案

connect 和相关命令只是管理与标签的逻辑连接。即:它们授予您的线程和应用程序对标记对象的独占访问权。他们不对物理标签连接做任何事情。 (至少据我所知,距离上次阅读 NfcService 代码已经有一段时间了)。

因此,一旦标签停止响应您的请求,连接和重新连接将无济于事。在这种情况下,您所能做的就是物理移除标签并再次将其呈现给阅读器。

如果遇到超时问题,请尝试通过对标记对象调用 setTimeout 来提高超时值。

关于android - 如何重新连接到 IsoDep 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30233264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com