Android ACR122U NFC 集成

2024-01-05

See NFC 读取器“SELECT(通过 AID)”APDU 未路由到 Android 设备 https://stackoverflow.com/q/50316799/2425802关于调试和最终结果。 TL;DR 读者可能已经不复存在了。


我的 Android 设备已连接 ACR122U 读卡器。我的最终目标是在 HCE 模式下使用另一台 Android 设备来实现设备之间的数据通信。

目前我在与 ACR122U 读卡器集成时遇到问题。我使用供应商提供的 lib acssmc-1.1.1.jar 提供程序。这是我目前拥有的代码(省略了打开阅读器的示例代码)。

mReader.power(slotNum, Reader.CARD_WARM_RESET);
mReader.setProtocol(slotNum, Reader.PROTOCOL_T0 | Reader.PROTOCOL_T1);

//FF 00 00 00 04 D4 4A 01 00 00 - Polling for the ISO14443-4 A ??
byte[] w = new byte[255];
int len = mReader.transmit(0, new byte[] { (byte)0xFF, 0x00, 0x00, 0x00, 0x04,(byte)0xD4, 0x4A, 0x01, 0x00}, 9, w, w.length);
Log.e("Response", "r: " + NfcUtils.convertBinToASCII(w, 0, len));

//00 A4 04 00 07 F0 01 02 03 04 05 07 00 - Select AID APDU
w = new byte[255];
mReader.transmit(0, new byte[] {0x00, (byte) 0xA4, 0x04, 0x00, 7,
    (byte)0xF0, 0x01, 0x02, 0x03, 0x04, (byte) 0x05, 0x07, 0}, 13, w, w.length);
Log.e("Response", "r: " + Arrays.toString (recvBuffer));

如果我将标签轻触 NFC 读取器,这就是我得到的输出

r: D54B0101440004048853606A9000
r: lots of zeroes

当我点击 Android 设备时,这是响应:

r: D54B6300
r: lots of zeroes

基本上它在轮询阶段失败了(?)。在 Android 设备上我有一个基本的HostAdpuService执行:

public class MyHostApduService extends HostApduService {

    @Override
    public void onCreate() {
        super.onCreate();
        Log.e("APDU", "APDU service was created.");
    }

    @Override
    public byte[] processCommandApdu(byte[] apdu, Bundle extras) {
       Log.e("APDU", "command apdu: " + Arrays.toString(apdu));
       return new byte[2];
    }
    @Override
    public void onDeactivated(int reason) {
       Log.e("APDU", "ON DEACTIVATED.");
    }
}

processCommandApdu从来没有被叫过。当我点击设备时,查看 Android 设备的日志,目前找不到任何相关内容。

我在网上浏览了几个示例,但无法使其在其他(非 Android)平台(Windows、OSX)上运行。


None

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

Android ACR122U NFC 集成 的相关文章

  • 使用 GcmListenerService 的多个 GCM 侦听器

    Google 建议使用 GcmListenerService 代替 GcmBroadcastReceiver 我正在制作一个使用 GCM 的库项目 com android library 插件 当应用程序项目 com android app
  • 插入耳机时有什么方法可以强制音频通过扬声器吗?

    我已经尝试过推荐的 setSpeakerphoneOn true 以及不推荐的 AudioSystem setForceUse AudioSystem FOR MEDIA AudioSystem FORCE SPEAKER 但两者都不起作用
  • 应用示例,使用Android备份服务

    您知道任何 Android 应用程序 开源 如果可能的话 它使用安卓备份服务 http developer android com guide topics data backup html 我需要有关如何在实际应用程序中使用备份服务的示例
  • 在 Cordova 中单击 html 按钮时启动新活动

    我正在尝试使用 Cordova 和 Java 构建 Android 应用程序 我想构建当在 HTML 代码中单击按钮时启动新 Intent 的意图 这是我的 HTML 代码 h2 Hello Android h2
  • adb shell:无法使用 ESCAPE 键

    I want to use vi when running adb shell Starting vi is easy However I found that the ESC key doesn t seem to get through
  • 我在 Android studio 中遇到错误

    在此输入图像描述 https i stack imgur com bvqID png我是安卓新手 我刚刚在 android studio 中创建了一个项目 并且在它的中遇到了问题manifest xml 错误是在 android icon
  • 通过蓝牙将字符串从作为客户端的 PC 发送到作为服务器的移动设备

    我需要通过蓝牙将字符串从 PC 传输到 Android 移动设备的帮助 Android 移动设备应充当服务器并在设备屏幕上显示字符串消息 作为客户端的 PC 应该将字符串发送到移动设备 我希望服务器对提取的字符串 通过蓝牙传输 做出反应 这
  • Android 设备中未显示背景图片?

    我将以下代码添加到main xml将图像设置为我的应用程序的背景图像 android background drawable bg So main xml看起来像这样
  • 如何实现 Android 浮动 SearchWidget

    I am trying to implement the search widget in the current android apps but just can t get it done and I ve not been able
  • 如何确定 Android UI 元素的 XPATH。硒 + Appium

    我目前正在使用 Appium 和 Selenium 自动化 Android 应用程序 并且在通过 ID 定位元素时遇到了一些问题 我想使用 XPATH 但不知道如何获取 android UI 元素的 XPATH 有谁知道如何确定元素的 XP
  • Android 浏览器缩放?

    我正在尝试为 Android 创建一个移动网站 当我将主体宽度设置为 480px 屏幕宽度 时 结果比我预期的大 50 左右 看来 android 正在缩放它所绘制的内容并弄乱了我所有的布局 有谁知道如何禁用它或解决它 我已经在使用这个 您
  • 无法使用 Firebase 广告:没有静态方法 zzc(Landroid/os/Bundle;

    我正在尝试将 Firebase 广告库添加到我的项目 该项目已经上线 中 构建工作正常 但当我尝试运行时 它崩溃并出现以下错误 11 16 10 33 13 535 540 540 com dap E AndroidRuntime 致命异常
  • 无法解析配置“:app:debugRuntimeClasspath”的所有文件。在 android studio Chipmunk 中添加新的依赖项时

    这些是我的等级文件 项目 Top level build file where you can add configuration options common to all sub projects modules plugins id
  • Eclipse java 断点 - 目的是什么?

    我正在学习 Android 教程 刚刚进入调试部分 我想知道断点的用途是什么 我还不能告诉 它实际上停止了应用程序 以便我可以确定它运行到该点 或者我可以设置多个断点并将它们用作标记来从断点到断点检查 停止和运行 我的代码 断点是执行停止的
  • 支持的 Android 设备:0 台设备

    我们是 TourisMap 的开发商 我们不明白为什么在 Google Play 开发者控制台上上传 apk 后 我们支持 0 台设备 我们个人的想法是 Manifest 和 build gradle 都可以 我们可以生成 apk 然后我们
  • Android:需要记录麦克风输入

    有没有办法在实时播放 预览过程中记录 Android 中的麦克风输入 我尝试使用AudioRecord and AudioTrack这样做 但问题是我的设备无法播放录制的音频文件 实际上 任何Android播放器应用程序都无法播放录制的音频
  • 加载远程图像

    在 Android 中 最简单的方法是什么 从远程服务器加载图像 将其显示在 ImageView 中 这是我在应用程序中实际使用的方法 我知道它有效 try URL thumb u new URL http www example com
  • 如何禁用 Google 请求许可定期检查手机上已安装的应用程序?

    我正在开发一个 Android 应用程序 因此我不断地在我的测试设备上构建和安装该应用程序 几天以来 我在每次构建 安装时都会提出一个问题 Google 可能会定期检查已安装的应用程序是否存在潜在危害 行为 在 Google 设置 gt 验
  • 解析 onPushOpen 从未被调用

    我已经使用解析实现了推送 将参数添加到清单文件中
  • Android 中的定制数字时钟

    您好 我想以 HH mm AM PM 的格式在我的应用程序中显示时间 数字时钟还包括秒 即 HH mm ss 上午 下午 如何避免显示秒 有没有什么可行的办法 请帮助我 您必须克隆该文件DigitalClock java要在您的应用程序中使

随机推荐

  • 为什么缓存控制:最大年龄不起作用?

    我正在倾斜http标头 并且我想在 缓存控制 字段上运行测试 所以我构建了一个只有默认页面的asp net网站 在这个页面中 我正在测试 缓存控制 字段 其 Page Load 中的代码如下 Response AddHeader Cache
  • 跨平台.Net? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如果您要编写一个在本地运行并调用 Web 服务的 GUI 应用程序 以实现跨平台 您可以使用 Net 来完成吗 您会推荐哪些工具 我正在考
  • 从 Backbone.js 模型中删除属性

    有没有办法从 a 中删除属性Backbone http documentcloud github com backbone model 原因是我在保存时传递了额外的数据来执行某些操作 但随后该数据会自动添加到我的模型中 文档说不要直接编辑
  • 为什么某些 SQLite 方法需要 Object[] 形式的参数,而其他方法则需要 String[] 形式?

    我对它的设计很好奇Android SQLite API http developer android com reference android database sqlite SQLiteDatabase html 例如 我们有 publ
  • 是时候通过 9600 波特串行发送 32KB 了?

    我想知道我的数学是否正确 如果我的波特率为 9600 那么这意味着每秒发送 9600 位 对吧 如果是这样 那么 9600 bit sec lt gt 1000 ms 9600 bit 0 1042 ms bit 因此 发送 32KB 应该
  • Cocoa Touch 中的协调控制器设计模式

    我正在创建一个带有大量自定义视图的 iOS 应用程序 因此 使用默认的 Cocoa 视图不是一个选项 然后 我决定和协调 中介控制器设计模式 在 Apress Pro Objective C Design Patterns for iOS
  • 主动配置

    Visual Studio 项目中的确切位置是活动配置 release debug等 存储 我相当确定它存储在 suo 文件中 它是一个二进制文件 存储各种用户 计算机特定设置 您可以找到有关此文件的更多信息here http msdn m
  • Git 哈希对象在 Powershell、CMD 和 Bash 中产生不同的 SHA1?

    我认为无论平台如何 SHA1 值都是相同的 我今天遇到了这个问题 希望我能在这里得到一些澄清 我的测试字符串是 Apple Pie In Bash echo Apple Pie git hash object stdin 23991897e
  • IP分片与重组

    我目前正在浏览我的网络幻灯片 想知道是否有人可以帮助我了解碎片和重组的概念 我了解它是如何工作的 即数据报如何被分割成更小的块 因为网络链接有一个 MTU 然而图片中的例子让我感到困惑 因此 前两部分显示的长度为 1500 因为这是 MSU
  • Promise 解析为子流 stdout 并拒绝子流 stderr

    我想建立一个使用以下命令生成子进程的承诺require child process spawn 该过程将其输出流式传输到stdout及其错误stderr 我希望承诺 reject child stderr stream or its dat
  • 如何通过特定选择来组织 Backbone 集合?

    我有一系列物品 我想跟踪当前的选择 当用户单击集合中的不同项目时 我想指示该项目已被选中并显示所选项目的详细信息 将此视为具有详细视图的列表 就像典型的电子邮件客户端 Example of a master detail layout so
  • 除了提交表单之外,在失去焦点时触发 html5 电子邮件验证器

    我有一个电子邮件输入字段 我使用 ajax 检查电子邮件是否已存在于我的数据库中 以防止该电子邮件输入失去焦点 我想在进行 ajax 调用之前确保输入的电子邮件格式正确 我可以使用 html5 内置电子邮件验证器来执行此操作还是必须编写自己
  • 如何引用使用无服务器框架创建的 AWS lambda 函数的 Arn 和名称

    我正在使用 Serverless Framework 创建 lambda 函数 并希望能够在 serverless yml 的其他部分交叉引用其 Arn 和名称 我很惊讶我发现这个有多困难 因为如果 lambda 是通过普通的 CloudF
  • VSCode 无法识别较新的 CSS

    VSCode 会在它无法识别的 CSS 下生成一条波浪线 例如 justify self start 无法识别命名网格线 这 col 给它带来问题 例如 grid template columns repeat 6 col 150px 我尝
  • CMD For 循环不保存 set /a 值

    不知道如何很好地解释这一点 所以这是代码 echo off set test 0 for f a in textfile txt do rem loops five times 5 lines in textfile txt set a t
  • 发送电子邮件时更改文本(字符串)的颜色

    当我将文本 字符串 输出到电子邮件时 我试图更改它的颜色 我的代码是 String appdata txtFromSpinner location getText date getText start getText finish getT
  • 在 TOpenDialog 中右键单击文件时,使用自定义样式会显示无效字符

    请参阅以下步骤进行重现 在 XE2 中运行良好 但在 XE8 中运行不佳 创建新的 VCL 表单应用程序 Delphi Place a TButton and a TOpenDialog在表格上 在按钮中OnClick事件调用OpenDia
  • Matlab中值滤波器代码

    我需要在 MATLAB 中对图像实现中值滤波 然而 我是不允许使用medfilt2 or ordfilt2MATLAB 中的函数 我们最近也开始学习MATLAB 是否有任何代码可用于中值滤波器或高斯滤波器 NB 这假设已安装图像处理工具箱
  • 如何将 Comet 与 Spring MVC 一起使用?

    我想添加一些彗星 服务器推送 http en wikipedia org wiki Comet programming 简单 Web 应用程序的功能 我无法找到有关如何执行此操作的最新信息 任何人都可以向我指出一些示例 教程 博客或任何最近
  • Android ACR122U NFC 集成

    See NFC 读取器 SELECT 通过 AID APDU 未路由到 Android 设备 https stackoverflow com q 50316799 2425802关于调试和最终结果 TL DR 读者可能已经不复存在了 我的