NFC读取鸿蒙示例代码

鸿蒙场景化示例代码技术工程师
发布于 2025-3-6 14:04
浏览
0收藏

本文原创发布在华为开发者社区

介绍

本项目使用系统提供的NFC能力,简单实现了应用前台读卡效果,参考NFC标签读写开发指南

NFC读取源码链接

效果预览

NFC读取鸿蒙示例代码-鸿蒙开发者社区

使用说明

安装到设备上后,开启NFC,打开应用,将NFC标签靠近设备即可。

实现思路

  1. 在入口Ability中注册前台读卡能力。
if (technology[i] === tag.NFC_A && !isNfcATag) {
  isNfcATag = true;
  hilog.debug(0x0000, 'TestTag', '[ReadTagTest-Demo] find NFC_A and start read');
  await new BasicTagTest(tagInfo).doNfcATagTest();
  hilog.info(0x0000, 'TestTag', '[ReadTagTest-Demo] find NFC_A and end read');
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  1. 在BasicTagTest.ets中,对NFC_A、NFC_B、NFC_F、NFC_V、ISO_DEP类型标签进行处理(以NFCV为例)。
async doNfcVTagTest() {
  let nfcV: tag.NfcVTag = tag.getNfcV(this.tagInfo);
  if (nfcV === null || nfcV === undefined) {
    hilog.error(0x0000, 'TestTag',"[ReadTagTest-Demo] doNfcVTagTest nfcV is null");
    return;
  }  GlobalContext.getContext().setTextShow('\n\n### NfC_V Tag detailed protocol information:\n\n')
  let responseFlags: number = nfcV.getResponseFlags();
  hilog.debug(0x0000, 'TestTag',"[ReadTagTest-Demo] doNfcVTagTest nfcV responseFlags= " + responseFlags);
  GlobalContext.getContext().setTextShow('\t\t' + 'responseFlag: ' + responseFlags + '\n')
  let dsfId: number = nfcV.getDsfId();
  hilog.debug(0x0000, 'TestTag',"[ReadTagTest-Demo] doNfcVTagTest nfcV dsfId= " + dsfId);
  GlobalContext.getContext().setTextShow('\t\t' + 'dsfId: ' + dsfId + '\n');
  let maxSendLength: number = nfcV.getMaxSendLength();
  hilog.debug(0x0000, 'TestTag',"[ReadTagTest-Demo] doNfcVTagTest nfcV maxSendLength= " + maxSendLength);
  GlobalContext.getContext().setTextShow('\t\tmaxSendLength = ' + maxSendLength + ' bytes\n')
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  1. 在MifareTest.ets中,对MIFARE_CLASSIC类型标签进行处理。
async doMifareClassicTagTest(){...}//MIFARE Classic技术
async doMifareUlTagTest(){...}//MIFARE_ULTRALIGHT
  • 1.
  • 2.
  1. 在NdefTest.ets中,对NDEF类型标签进行处理。
async doNdefTagTest(){...}//NDEF技术
  • 1.

分类
已于2025-4-9 15:11:55修改
收藏
回复
举报
回复
    相关推荐