ACR122U NFC读写器频繁断线

2023-12-03

当我将 SIII (Android 4.3) 放在 ACR122U NFC 读卡器上时,LED 持续闪烁绿色。当我将 Samsung S4 (Android 4.3) 放入读卡器时,LED 会变绿直到手机位于读卡器上。在这两种情况下,NFC 均已打开且设备处于解锁状态。 此行为会转化为 SIII 中的频繁断开连接和 S4 上的稳定连接。为什么两部手机的表现不同?我知道有两部手机配备了来自两个不同供应商(NXP 和 Broadcom)的 NFC 芯片组。

我的问题是这些设备之间这种不一致行为的根源是什么?

另一个问题是为什么手机会给出 ATR?


使用 ACR122U/PN532 进行软件卡仿真的命令序列可在这个答案.

除此之外,ACR122U 还有不同版本:

  • 有些总是指示智能卡的存在。在这种情况下,可以使用连接到“模拟”卡

    // SCardConnect with SCARD_SHARE_SHARED, SCARD_PROTOCOL_ANY
    Card card = cardTerminal.connect("*");
    CardChannel cardChannel = card.getBasicChannel();
    

    之后,可以使用 APDU 包装发送 PN532 命令:

    > FF000000 Lc PN532-COMMAND
    < PN532-RESPONSE 9000
    

    cardChannel.transmit method:

    CommandAPDU commandAPDU = ...
    // SCardTransmit
    Response responseAPDU = cardChannel.transmit(commandAPDU);
    
  • ACR122U 的其他版本并不总是“模拟”智能卡的存在。相反,它们会自动轮询非接触式卡,并且仅在将实际卡呈现给读卡器时才指示卡的存在。在这种情况下使用cardTerminal.connect("*");仅当存在实际卡时才可能。然而,当 ACR122U 在软件卡模拟模式下使用时,情况通常并非如此。在这种情况下,仍然可以使用直接模式建立与阅读器的连接

    // SCardConnect with SCARD_SHARE_DIRECT
    Card card = cardTerminal.connect("direct");
    

    之后,可以使用转义命令与阅读器交换相同的 APDU 包装的 PN532 命令(如果转义命令对于您的阅读器版本来说是否正确,您可能需要检查手册):

    final int IOCTL_SMARTCARD_ACR122_ESCAPE_COMMAND = 0x003136B0; //IOCTL(3500) for Windows
    //final int IOCTL_SMARTCARD_ACR122_ESCAPE_COMMAND = 0x42000DAC; //IOCTL(3500) for Linux
    byte[] commandAPDU = ...
    // SCardControl
    byte[] responseAPDU  = card.transmitControlCommand(IOCTL_SMARTCARD_ACR122_ESCAPE_COMMAND, commandAPDU);
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ACR122U NFC读写器频繁断线 的相关文章

  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • SearchView过滤ListView

    我已经实现了搜索视图来过滤我的列表视图项目 当我输入任何文本时 它会过滤列表 但当我退出搜索视图时 它不会返回原始列表项 public class PlacesListAdapter extends ArrayAdapter
  • 如何以编程方式检查 AndroidManifest.xml 中是否声明了服务?

    我正在编写一个库 该库提供了一项服务 其他开发人员可以通过将其包含在他们的项目中来使用该服务 因此 我无法控制 AndroidManifest xml 我在文档中解释了要做什么 但一个常见的问题是人们忽略了将适当的 标记添加到其清单中 或者
  • 是否可以将数组或对象添加到 Android 上的 SharedPreferences

    我有一个ArrayList具有名称和图标指针的对象 我想将其保存在SharedPreferences 我能怎么做 注意 我不想使用数据库 无论 API 级别如何 请检查SharedPreferences 中的字符串数组和对象数组 http
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 我想实现下面的布局,按钮应该在屏幕底部,当惰性列被填充时,按钮不应该出去

    顶部有惰性列 惰性列下方有输入电话号码布局并从电话簿布局添加联系人 我希望当未添加联系人时此布局位于顶部 当我添加大量联系人时输入电话号码并添加电话簿布局中的联系人会随着惰性列滚动并移出屏幕 我不让他们走出屏幕 当接触较多时 它们必须粘在底
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 如何将 google+ 登录集成到我的 Android 应用程序中?

    大家好 实际上我需要通过我的应用程序从 google 登录人们 现在我阅读了 google 上的文档 其中指出 要允许用户登录 请将 Google Sign In 集成到您的应用中 初始化 GoogleApiClient 对象时 请求 PL
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • require() 不适用于变量 - React Native

    我遇到一个奇怪的问题 如果我直接设置一个变量 其值类似于 const myString someWord 可以 但是如果我从像 const myString someVariable 这样的变量中获取值 则不起作用 并且如果我在条件块上设置
  • 而在Lua中,它是如何处理的呢?

    我在一个中看到了这段代码Lua 风格指南 print x yes and YES or x Context local function test x print x yes and YES or x rather than if x ye
  • 使用 Boost 库生成的 UUID 与 Java 的唯一性

    我组织的一个 Android 应用程序需要在每个用户首 次启动该应用程序时为其分配一个 UUID 版本 4 目前我们使用 Boost 库 1 58 0 用于此目的 我们的 Android 应用程序将使用 JNI 运行以下代码生成 UUIDv
  • vector::erase() 未按预期工作

    for it1 prime begin it1
  • 在 Python 中将 Excel 工作表从一个工作表复制到另一个工作表

    我想做的就是用 Python 将工作表从 Excel 工作簿复制到另一个 Excel 工作簿 我想保留所有格式 彩色单元格 表格等 我有许多 Excel 文件 我想将所有文件中的第一张工作表复制到一个工作簿中 如果对任何单个工作簿进行更改
  • 如何写入资源文件?

    如果可以从源文件中读取 如下所示 string fileContent Resources Users using var reader new StringReader fileContent string line while line
  • 2 个扭曲的 SSL 证书

    我有这个代码 from twisted web server import Site from twisted web static import Data from twisted internet import reactor ssl
  • 在 R 中的变量列表上按组运行线性模型

    我有一个数据框 我需要为每个组 站点 运行 6 个 2 变量线性模型 然后 我需要将结果转换为数据框 线性模型中的第二个变量发生变化 我已经使用了该部分lapply 但我不知道如何按组运行 我已经在 SO 上找到了答案 可以回答我的部分问题
  • Tkinter 透明度遇到问题

    我在 TKinter 中使顶级小部件淡入时遇到问题 由于某种原因 小部件根本不会淡入 然后它将显示在任务栏中 但只有在单击运行此命令的按钮两次之后 它不应该出现在任务栏中 代码负责这些问题 Alpha 0 0 w1 attributes a
  • 每个序列化程序都支持 OnDeserializedAttribute 吗?

    我只是偶然发现MSDN 上的 OnDeserializedAttribute 描述指出 当应用于方法时 指定在对象图中的对象反序列化后立即调用该方法 相对于图中其他对象的反序列化顺序是不确定的 问题 是否需要具有此属性的方法any序列化器
  • 将额外参数传递给 usort 回调[重复]

    这个问题在这里已经有答案了 我有以下功能 WordPress 可以运行 但这实际上是一个 PHP 问题 他们对我的 term对象根据artist lastname每个对象的元数据中的属性 我想将一个字符串传递到 meta在第一个函数中 这将
  • Twig - 动态数组键

    目前正在开发一个基于 Symfony 的工具 我正在迭代一系列配置设置 我想要实现的目标似乎很简单 我正在努力获得一定的价值 但其中一个键必须是动态的 下面是一个没有动态密钥的工作示例 set id tmod config content
  • 什么是“访问器功能”?

    In 第 4 3 26 节标准 ECMA 262 版本的 根据属性的形式 可以表示值 直接作为数据值 原始值 对象或 函数对象 或间接通过一对访问器函数 我不明白 访问器函数 是什么意思 也没有在规范中找到访问器函数的定义 然后我在网上搜索
  • 如何在 Python 中使用 Selenium 编辑 CodeMirror?

    每次尝试将文本插入网页上的 CodeMirror 时 我都会收到以下错误消息 有谁知道如何使用selenium成功编辑codemirror WebDriverException Message unknown error Cannot re
  • OpenMP:深度优先搜索的好策略

    我正在编写一个 C 程序 该程序对封闭的骑士之旅 代码是here 我想使用 OpenMP 并行化它 我的问题是以一种创建足够程度的并行性的方式来做到这一点 现在相关部分我的代码看起来像这样 pragma omp parallel for r
  • Emacs:符号作为变量的值为空

    这是我的 emacs file setq default c basic offset 4 c default style linux setq default tab width 4 indent tabs mode t define k
  • 如何确定何时收到蓝牙文件?

    在我的应用程序中 我需要在收到蓝牙传输的文件后对其进行编辑 为了查明何时通过蓝牙接收到文件 我必须使用 BroadcastReceiver 监听什么 Intent 另外 请告诉我是否还有其他解决方案 如果用户通过 Android 操作系统获
  • 每个方面图的 Binwidth 不同

    试图理解分配唯一的binwidth对于每个因子水平geom histogram 但到目前为止还是失败了 这是可重现的数据 a lt rnorm 10 7 0 1 b lt rnorm 10 13 5 df lt data frame dat
  • 当我尝试在内核中使用 printf() 时出现错误

    我使用的是 Visual Studio 2010 和具有计算能力 2 0 的 GTX480 我尝试将 sm 设置为 2 0 但是当我尝试在内核中使用 printf 时 我得到 错误 从 device global 调用主机函数 printf
  • ACR122U NFC读写器频繁断线

    当我将 SIII Android 4 3 放在 ACR122U NFC 读卡器上时 LED 持续闪烁绿色 当我将 Samsung S4 Android 4 3 放入读卡器时 LED 会变绿直到手机位于读卡器上 在这两种情况下 NFC 均已打