读取 NFC 标签
了解 NFC 适用场景,并通过 Demo 学会配置读取命令、查看标签结果和处理常见问题。
适用场景
NFC 可以让 Android 手机或 PDA 在靠近标签后读取标签标识,并将结果写入活字格页面。
下面这些业务通常会使用 NFC:
- 设备巡检:读取设备上的 NFC 标签,确认当前检查对象;
- 资产盘点:读取资产标签,并查询对应的资产信息;
- 工位确认:确认操作人员已经到达指定工位;
- 货架检查:读取货架标签,加载当前货架的任务或物料;
- 物流交接:通过标签确认交接对象并记录操作结果。
如果需要快速处理大量物料,扫码通常更加高效。如果业务要求设备必须靠近指定对象后才能确认,NFC 更适合。
NFC 只能说明设备读取了某个标签。重要业务还应结合任务状态、操作人员和读取时间进行校验,不能只根据标签值直接完成业务操作。
功能说明
NFC 功能通过 HAC 调用 Android 设备的 NFC 模块,读取标签标识,再由活字格页面显示结果或查询对应的业务数据。
使用前提
- PDA 或 Android 设备支持 NFC;
- Android 系统已经开启 NFC;
- 应用运行在
HAC中; - 已安装 PDA / Android 交互命令插件;
- NFC 标签格式与业务系统的约定一致;
- 操作人员了解当前设备的 NFC 感应区域;不同设备的感应区域可能位于机身背面、顶部或摄像头附近。
命令选择
插件提供两个 NFC 读取命令。第一次使用时,可以先选择直接写入单元格的命令;需要处理读取状态、成功提示和失败分支时,再使用异步命令。
| 命令 | 能做什么 | 适合的情况 |
|---|---|---|
| 【读取NFC标签到单元格】 | 将读取到的 TAG ID 直接写入指定单元格 | 配置简单,适合初次使用或简单页面 |
| 【读取NFC标签】 | 读取标签,并在完成后继续处理成功或失败流程 | 适合需要校验标签、显示提示或执行后续命令的正式业务 |
返回结果
NFC 读取结果通常包含以下内容:
| 中文含义 | 返回字段 | 用途 |
|---|---|---|
| 标签唯一标识 | NFC_Tag | 查询标签对应的设备、资产或任务 |
| 是否读取成功 | IsSuccess | 判断本次读取是否成功 |
| 错误信息 | Error | 读取失败时说明原因 |
【读取NFC标签到单元格】会直接把 TAG ID 写入目标单元格。下面的 Demo 使用【读取NFC标签】,读取到的标签值通过 NFC_Tag 写入页面单元格。
Demo 配置与运行效果
这个 Demo 的目标是:用户点击“读取”,将设备靠近 NFC 标签,页面显示读取到的 TAG ID,并根据结果提示成功或失败。
先用同步命令验证标签(可选)
如果只想确认设备和标签能否正常读取,可以临时使用【读取NFC标签到单元格】,并为 TAG ID 指定一个目标单元格。下面的正式 Demo 不使用这条命令,按钮最终配置为【读取NFC标签】。

重点检查“目标单元格”是否正确。读取成功后,TAG ID 会自动写入该单元格,不需要用户手工输入。
这种方式适合先验证设备和标签能否正常读取。如果页面还需要判断结果或执行后续业务,应使用异步命令。
异步读取命令配置
在命令窗口中选择【读取NFC标签】,然后在该命令下添加成功和失败处理。

Demo 使用 IsSuccess 等于 true 判断读取结果:
用户点击“读取”
-> 执行【读取NFC标签】
-> 成功:写入标签值并显示成功提示
-> 失败:显示失败原因并允许重新读取读取期间,页面应提示用户将设备保持在标签附近,避免过早移开设备。
读取结果处理
在成功分支中,使用【设置单元格属性】将 NFC_Tag 写入显示 TAG ID 的单元格。

图中需要重点检查以下内容:
- 条件为
IsSuccess 等于 true; - 成功分支将单元格的值设置为读取结果
NFC_Tag; - 成功后显示读取成功提示;
- 失败分支显示失败提示,并允许用户重新读取。
正式业务还应在读取成功后使用 TAG ID 查询业务对象。只有标签与当前任务匹配时,才能继续下一步。
HAC 运行效果
发布应用后,在已经开启 NFC 的 HAC 中打开 Demo。点击“读取”,再将设备的 NFC 感应区域贴近标签。

页面会根据结果显示成功或失败提示:读取成功后显示 TAG ID 和成功提示,失败时显示失败原因。读取过程中请保持设备稳定,在出现成功提示前不要移开,也不要连续点击“读取”。
如果页面能够显示标签值,并且该值与测试标签一致,说明 NFC 命令和页面写入配置已经生效。
常见问题
设备或系统 NFC 不可用
先确认设备是否具有 NFC 模块,再检查 Android 系统是否已经开启 NFC。设备不支持时,应更换设备或使用扫码等备用方式。
标签读取失败
常见原因包括感应距离过远、设备角度不正确、过早移开设备或标签损坏。应提示操作人员找到设备的 NFC 感应区域,贴近标签后重新读取。
标签格式不支持
如果标签格式与项目约定不一致,应提示更换标签或联系管理员。不要把无法识别的内容直接写入业务记录。
标签与任务不匹配
保留并显示本次读取到的 TAG ID,同时说明它与当前任务不匹配。用户可以重新读取,但不能用不匹配的标签继续提交。
标签重复读取
同一标签可能在短时间内被多次触发。页面应进行防抖处理,避免重复查询、重复保存或重复提交。
普通浏览器无法读取
NFC 插件命令需要在 HAC 中运行。对于普通浏览器,应隐藏读取入口,或者明确提示“请在 HAC 中使用此功能”。
业务校验失败
如果后台没有对应对象、对象状态不可用或网络请求失败,应保留已经读取的 TAG ID,并显示具体原因。网络恢复后可以重新校验,不要求用户再次读取标签。
业务数据记录
用于巡检、盘点或交接时,应保存 TAG ID、匹配到的业务对象、操作人员、读取时间、设备信息和处理结果。手工输入或扫码等备用入口应进行权限控制并记录使用原因。