HarmonyOS 蓝牙读卡无法获取支持的技术类型?

try {
  tagInfo = tag.getTagInfo(want);
  console.info("tag.getTagInfo tagInfo: " + tagInfo);
} catch (error) {
  console.error("tag.getTagInfo catched error: " + error);
}
try {
  console.info("tag.getTagInfo tagInfo: 判空"  );
  if (tagInfo == null || tagInfo == undefined) {
    console.log("no TagInfo to be created, ignore it.");
    return;
  }
  console.info("tag.getTagInfo tagInfo: 轮询" +tagInfo.technology );
  for (let i = 0; i < tagInfo.technology.length; i++) {
    console.info("tag.getTagInfo tagInfo: "+tagInfo.technology[i] );
    if (tagInfo.technology[i] == tag.MIFARE_CLASSIC) {
      isMifareClassicTag = true;
    }
  }
} catch (error) {
  console.error("tag.getTagInfo tagInfo MifareClassic catched error: " + error);
}

tagInfo.technology 是 undefined

阅读 630
1 个回答

单独启动HarmonyOS应用是读不到TagInfo的具体信息的,原因是没有卡片信息;

测试流程:

1,开发好应用程序,安装到手机上;

2,卡片接触NFC,NFC读取卡片信息;

3,如果有多个应用都能识别,弹出应用选择器列举出应用列表给用户手动选择,

4,用户选择指定的应用后,自动跳转到应用程序的NFC标签读写卡页面,NFC会将读到的卡片信息以 want 参数的形式传给指定的Ability;

应用程序中的want携带有卡片信息,作为入参才能读取到TagInfo信息;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进