HarmonyOS 鸿蒙Next api12 nfc 前台识别标签失败
HarmonyOS 鸿蒙Next api12 nfc 前台识别标签失败
let discTech : number[] = [
TagType.NFC_A, TagType.NFC_B, TagType.NFC_F, TagType.NFC_V,
TagType.ISO_DEP, TagType.NDEF, TagType.NDEF_FORMATABLE, TagType.MIFARE_CLASSIC, TagType.MIFARE_ULTRALIGHT
];
export class ReadNfc {
private elementName: bundleManager.ElementName | undefined = undefined
private AbilityInfo: bundleManager.AbilityInfo | undefined = undefined
constructor() {
}
// 注册对NFC Tag读卡事件的监听,实现前台应用优先分发的目的
registerNfc() {
let want = AppStorage.get(‘want’) as Want
this.elementName = {
bundleName: want.bundleName as string,
abilityName: want.abilityName as string,
moduleName: want.moduleName
}
console.log(<span class="hljs-built_in"><span class="hljs-built_in">JSON</span></span>.stringify(<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>.elementName))
tag.registerForegroundDispatch(<span class="hljs-keyword"><span class="hljs-keyword">this</span></span>.elementName, discTech, <span class="hljs-keyword"><span class="hljs-keyword">this</span></span>.foregroundCb);
<span class="hljs-comment"><span class="hljs-comment">// tag.on('readerMode', this.elementName, discTech, this.foregroundCb)</span></span>
console.log(<span class="hljs-string"><span class="hljs-string">'注册nfc监听'</span></span>)
}
// 取消注册对NFC Tag读卡事件的监听,退出前台应用优先分发
unRegisterNfc() {
tag.unregisterForegroundDispatch(this.elementName);
}
foregroundCb(err : BusinessError, tagInfo : tag.TagInfo) {
console.log(JSON.stringify(err))
if (err as BusinessError) {
if (!err) {
console.log("foreground callback: tag found tagInfo = ", JSON.stringify(tagInfo));
} else {
console.log("foreground callback err: " + (err as BusinessError).message);
return;
}
}
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
这些打印的nfc的相关内容全是undefined
syscap文件也加了, module.json5也配置了,权限都给了
更多关于HarmonyOS 鸿蒙Next api12 nfc 前台识别标签失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS Next 纯血鸿蒙教程B站免费学习地址:https://www.bilibili.com/video/BV1fw2ZYSEk2
更多关于HarmonyOS 鸿蒙Next api12 nfc 前台识别标签失败的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
您好,我不是要读取数据,是要连接机器,然后控制机器,具体是什么个流程呢?
这个不知道干嘛用的,打印也是空的
还有这个,我怎么知道识别的设备是什么类型的技术
针对HarmonyOS 鸿蒙Next api12 NFC前台识别标签失败的问题,以下是一些可能的解决方案:
- 检查NFC配置:确保在
module.json5
和syscap
文件中已经正确配置了NFC相关权限和能力。同时,检查代码中是否正确注册了NFC读卡事件的监听,并且监听回调函数中是否正确处理了NFC标签信息。 - 检查NFC标签:确认NFC标签是否支持当前所执行的操作,以及标签的状态是否正常。如果标签已损坏或不支持所执行的操作,可能会导致识别失败。
- 检查设备状态:确保设备的NFC功能已经打开,并且设备处于能够正常接收NFC信号的状态。同时,检查设备的时间设置是否与网络时间同步,因为时间不一致可能会影响NFC功能的正常使用。
- 查阅错误码:根据NFC错误码(如3100101、3100201等)来定位问题。这些错误码可以提供关于NFC服务状态、标签运行状态或I/O操作失败等信息的详细反馈。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。