Android 中的 Mifare Ultralight C 身份验证 (2.3.6)

2023-12-28

我正在尝试验证 Mifare Ultralight C(ISO/IEC 14443-2 和 14443-3 A 型兼容)标签。

我使用Android中提供的MifareUltralight.transceive()函数发送身份验证命令。我还检查了 NfcA.transceive() (IsoDep 似乎与此类标签不兼容,因为该对象用于处理 ISO/IEC 14443-4 标签,这就是我不使用 IsoDep.transceive() 的原因)。

因此,当我第一次发送身份验证请求命令时,标签用 AFxxxx 应答 transceive() ... 我处理标签答案,然后发送另一个带有对该答案的响应的 transceive() 但......就在之前发送 transceive() 标签已连接,发送时我收到“标签丢失”警告和“收发失败”。

另外,如果我尝试使用 NfcA,也会发生同样的问题。

最后,如果我尝试在第一个响应后发送一个身份验证命令,我还会收到“标签丢失”警告,并且收发失败。

所以我的问题是:

为什么当我发送第二个 transceive() 时 NFC 标签会丢失?<<

(这似乎不是超时问题,因为在发送第二个 transceive() 之前,连接已与标签打开) 我在与 UI 线程不同的线程中制作了所有内容。

提前致谢!


看来你的做法是正确的。但是,该标签的行为表明您对该标签的答案的响应不正确。在这种情况下,标签将拒绝回答。从手机的角度来看,这与标签消失没有区别,因此您会得到一个TagLostException.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中的 Mifare Ultralight C 身份验证 (2.3.6) 的相关文章

随机推荐

  • 使用 C++ 中的 scanLine() 方法存储 QImage 的所有像素

    我正在尝试使用修改图像Qt与scanLine http doc qt io qt 4 8 qimage html scanLine方法 此方法返回指向给定行数据的指针 我创立了如何读取行here https stackoverflow co
  • 动态更改日志文件的文件路径.NET Core + NLog

    在我的 NET Core 应用程序中 我使用一些环境 并且我想为每个环境使用不同的路径来记录文件 例如 Development c logs Staging d apps logs 对于每个环境我都有配置部分appsettings env
  • Windows 7:超出 C++ std::this_thread::sleep_for

    我们的代码是用 C 11 VS2012 Win 7 64bit 编写的 C 库提供了sleep for我们使用的函数 我们观察到 C sleep for有时会出现较大的超调 换句话说 我们请求睡眠 15 毫秒 但睡眠结果是例如 15 毫秒
  • YouTube API:如何获取 liveChatId?

    文档说 liveChatId 参数指定将返回其消息的聊天 ID 与广播关联的实时聊天 ID 在 liveBroadcast 资源的 snippet liveChatId 属性中返回 但是 当使用 API Explorer 和 youtube
  • 从特定列 scala Spark 数据帧获取最小值和最大值

    我想从我的数据框中访问特定列的最小值和最大值 但我没有列的标题 只有它的编号 所以我应该使用 scala 吗 也许是这样的 val q nextInt ncol we pick a random value for a column num
  • Javascript:如何正确扩展类

    在互联网上搜索时 我总是遇到这种 Javascript 类扩展方法 function extend Child Parent var F function F prototype Parent prototype Child prototy
  • ILNumerics 在特定位置绘制平面

    我目前正在使用 ILNumerics API 并开始在立方体中绘制几个点 然后我通过这些点计算了一个回归平面 现在我想在相同的场景图中绘制平面 但大小仅与点云相同 我得到了平面的参数 a b c f x y a x b y c 我知道只有
  • 媒体播放器响应第二次点击暂停

    使用ViewPager进行图像滑动 每个图像onclick流不同的MP3 应用程序包括 50 个页面 图像 和 50 个不同的 mp3 所有 mp3 都存储在应用程序本身上 前任 第一页流 MP3 one 第二页流 MP3 two 依此类推
  • IE 打印时 iframe 在底部剪切

    在 IE11 上打印下面的页面时 会剪切底部的 iframe 而不是让它扩展到下一页 我怎样才能防止这种情况并让它打印所有内容 注意 要重现此问题 只需将以下代码粘贴到记事本中并在 IE 中打开即可 div a href h1 Print
  • quill可以限制上传图片的大小吗?

    由于图片较大 响应较慢 所以一定要限制 怎么做 谢谢 var editor new Quill postContent modules toolbar toolbar container theme snow placeholder 不超过
  • 实体框架从 SQL Server 视图返回损坏/交换数据

    我从 SQL Server 中的视图进行简单查询 SELECT PricePerM FROM RealtyStatParent ORDER BY PricePerM 当我在 SQL Management Studio 中执行查询时 我得到了
  • 如何在 docker 中创建和运行 .net Core 控制台应用程序

    我有一个 NET Core 2 1 控制台应用程序 我想在 Docker 映像中运行此控制台应用程序 我是 Docker 新手 只是想弄清楚它 这时候我就有了一个Dockerfile 其灵感来自微软的例子 https learn micro
  • 查找作为 c 中函数的参数接收的整数数组的大小[重复]

    这个问题在这里已经有答案了 我想找到作为参数传递给函数的整数数组的大小 这是我的代码 void getArraySize int arr int len sizeof arr sizeof arr 0 printf Array Length
  • 代号一中的文本屏幕,如何读取文本文件?

    我想向我的 Codename One 应用程序添加帮助屏幕 由于文本比其他字符串更长 我想将其放在单独的文件中并将其添加到应用程序包中 我该怎么做呢 我应该将文本文件放在哪里 以及如何轻松地将其一次性读取到字符串中 我已经知道如何将字符串放
  • 为什么我们要包含 stdlib.h?

    C功能malloc 定义如下stdlib h 如果我们不包含这个文件 它应该会给出一个错误 但是这个代码可以正常工作 但有一点警告 我的问题是 如果malloc 没有这个头文件也可以工作 那么为什么我们需要包含它呢 请帮助澄清我的概念 in
  • 模板专业化:非内联函数定义问题

    以下代码可以正确编译 include
  • ActionScript 属性 - 公共 Getter、受保护的 Setter

    是否有可能拥有一个具有公共 getter 和受保护 setter 的属性 我有以下代码 public class Mob extends Sprite snip private var health Number tried making
  • 有人可以向我解释一下 PHP 中的 pack() 函数吗?

    我想了解更多关于pack PHP 中的函数 https secure php net manual en function pack php https secure php net manual en function pack php
  • 如何在 Qt 中上移选定行

    我有一个QTableView有 3 行和 2 列 这里我使用的是QStandardItemModel 我想在单击 QPushButton 时向上 向下移动一行 如何在中向上 向下移动一行QTableView 感谢您的回复瓦汉乔 我已经尝试过
  • Android 中的 Mifare Ultralight C 身份验证 (2.3.6)

    我正在尝试验证 Mifare Ultralight C ISO IEC 14443 2 和 14443 3 A 型兼容 标签 我使用Android中提供的MifareUltralight transceive 函数发送身份验证命令 我还检查