如何重新连接到IsoDep标签?

克塞尼亚

我正在尝试从android手机发送一些apdu命令到nfc标签并获取答案。使用的技术类型为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;
    }

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

尼尔斯·派宾布林克(Nils Pipenbrinck)

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

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何重新连接到IsoDep标签?

来自分类Dev

自动重新连接到互联网并消失标签

来自分类Dev

如何通过SSH连接并重新连接到原始网络?

来自分类Dev

dbus如何重新连接到新的会话总线守护程序

来自分类Dev

如何优雅地重新连接到套接字

来自分类Dev

iOS如何在后台重新连接到BLE设备?

来自分类Dev

如何重新连接到docker-compose输出日志?

来自分类Dev

如何使Mac自动重新连接到wifi网络?

来自分类Dev

管道损坏后如何重新连接到 ssh 会话?

来自分类Dev

断开连接后,如何重新使用或重新连接到同一端口上的插槽?

来自分类Dev

自动重新连接到wifi

来自分类Dev

无法重新连接到 wifi

来自分类Dev

重新连接分离的终端标签

来自分类Dev

如何连接到smb:// ...?

来自分类Dev

如何连接到PostgreSQL?

来自分类Dev

如何连接到smb:// ...?

来自分类Dev

如何连接到VPN?

来自分类Dev

如何连接到nginx?

来自分类Dev

如何连接到QNAP

来自分类Dev

是否可以重新连接到房间?

来自分类Dev

Android Stomp重新连接到ActiveMQ

来自分类Dev

不断需要重新连接到Wifi

来自分类Dev

挂起后自动重新连接到ssh

来自分类Dev

如何从NetBeans IDE 8和Jenkins重新连接到GitLab上的git存储库?

来自分类Dev

如何将项目重新连接到现有的GitHub存储库

来自分类Dev

如何更改Blazor中的“无法重新连接到服务器”文本?

来自分类Dev

如何正确断开Chrome运行时端口并将其重新连接到本机主机?

来自分类Dev

grails如何(重新)连接到第二个数据库

来自分类Dev

如何重新连接到R tm软件包中的PCorpus?