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
单独启动HarmonyOS应用是读不到TagInfo的具体信息的,原因是没有卡片信息;
测试流程:
1,开发好应用程序,安装到手机上;
2,卡片接触NFC,NFC读取卡片信息;
3,如果有多个应用都能识别,弹出应用选择器列举出应用列表给用户手动选择,
4,用户选择指定的应用后,自动跳转到应用程序的NFC标签读写卡页面,NFC会将读到的卡片信息以 want 参数的形式传给指定的Ability;
应用程序中的want携带有卡片信息,作为入参才能读取到TagInfo信息;