HarmonyOS 鸿蒙Next NFC读取问题,是不支持一次读多个扇区吗

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next NFC读取问题,是不支持一次读多个扇区吗

let key =[0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF]

// for (let i = 0 ; i < 4; i++) { 
//
  //扇区 每个扇区四块
  mifareClassic?.authenticateSector(0, key, true).then(() => {
    console.info(`mifareClassic ,  第0块扇区验证成功`);

    // 验证扇区成功 获取扇区的第一个块号
    let blockIndex : number | undefined = mifareClassic?.getBlockIndex(0)
    console.log("blockIndex::::::::",blockIndex)

    if(blockIndex != undefined){

      //块区
      mifareClassic?.readSingleBlock(blockIndex).then((data : number[]) => {

        let aStr = bytesToHexString(data)

        nfcParam.resIdcardId = aStr

        console.info(`mifareClassic,第${blockIndex}块mifareClassic readSingleBlock AsyncCallback data: ` + data);
        console.info(`mifareClassic,第${blockIndex}块mifareClassic readSingleBlock AsyncCallback data: ` + JSON.stringify(nfcParam));

      }).catch((err : BusinessError)=>{
        console.error(`mifareClassic,第${blockIndex}块 读取失败 : ` + err.code + "," + err.name);
      });

      //块区
      mifareClassic?.readSingleBlock(blockIndex + 2).then((data : number[]) => {

        console.info(`mifareClassic,第${blockIndex}+ 2 块mifareClassic readSingleBlock AsyncCallback data: ` + data);

      }).catch((err : BusinessError)=>{
        console.error(`mifareClassic,第${blockIndex}+ 2块 读取失败 : ` + err.code + "," + err.name);
      });
    }

  }).catch((err : BusinessError)=>{
    console.error(`mifareClassic,  第0块扇区验证失败, errCode: ${err.code}, message: ${err.message}`);
  });

// //扇区 每个扇区四块
// mifareClassic?.authenticateSector(1, key, true).then(() => {
//   console.info(`mifareClassic ,  第${1}块扇区验证成功`);
//
//   // 验证扇区成功 获取扇区的第一个块号
//   let blockIndex : number | undefined = mifareClassic?.getBlockIndex(1)
//   console.log("blockIndex::::::::",blockIndex)
//
//   if(blockIndex != undefined){
//
//     //块区
//     mifareClassic?.readSingleBlock(blockIndex).then((data : number[]) => {
//
//       console.info(`mifareClassic,第${blockIndex}块mifareClassic readSingleBlock AsyncCallback data: ` + data);
//
//     }).catch((err : BusinessError)=> {
//       console.error(`mifareClassic,第${blockIndex}块 读取失败 : ` + err.code + "," + err.name);
//     });
//
//     //块区
//     mifareClassic?.readSingleBlock(blockIndex + 1).then((data : number[]) => {
//
//       console.info(`mifareClassic,第${blockIndex}+ 1 块mifareClassic readSingleBlock AsyncCallback data: ` + data);
//
//     }).catch((err : BusinessError)=> {
//       console.error(`mifareClassic,第${blockIndex}+ 1块 读取失败 : ` + err.code + "," + err.name);
//     });
//
//     //块区
//     mifareClassic?.readSingleBlock(blockIndex + 2).then((data : number[]) => {
//
//       console.info(`mifareClassic,第${blockIndex}+ 1 块mifareClassic readSingleBlock AsyncCallback data: ` + data);
//
//     }).catch((err : BusinessError)=> {
//       console.error(`mifareClassic,第${blockIndex}+ 1块 读取失败 : ` + err.code + "," + err.name);
//     });
//   }
//
// }).catch((err : BusinessError)=> {
//   console.error(`mifareClassic,  第${0}块扇区验证失败, errCode: ${err.code}, message: ${err.message}`);
// });//扇区 每个扇区四块

更多关于HarmonyOS 鸿蒙Next NFC读取问题,是不支持一次读多个扇区吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next NFC读取问题,是不支持一次读多个扇区吗的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


关于HarmonyOS(鸿蒙)Next NFC读取问题,关于是否支持一次读多个扇区,直接回答如下:

鸿蒙系统的NFC功能在设计上通常遵循NFC技术的通用规范和标准。NFC(近场通信)技术本身在物理层面上一次只能与一个NFC标签或卡片进行通信。至于能否在一次操作中读取多个扇区,这主要取决于NFC芯片、标签的设计以及鸿蒙系统对该硬件的支持程度。

对于大多数NFC标签,它们被划分为不同的扇区或块,每个扇区或块包含一定的存储空间。在读取这些扇区时,通常需要按顺序逐个访问。因此,从技术上讲,一次读取多个扇区并不是NFC技术本身直接支持的功能,而是需要软件层面(如鸿蒙系统)通过连续读取多个扇区来实现这一功能。

鸿蒙系统是否提供了这样的连续读取功能,或者是否有限制(如每次只能读取一个扇区),这取决于鸿蒙系统的具体实现和版本。建议查阅鸿蒙系统的官方文档或开发者指南,以获取关于NFC读取功能的具体信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部