1

以下のコードで「タグが失われました」という例外が発生します。ただし、例外にもかかわらず、データは正常に書き込まれます。例外がスローされたにもかかわらず、データが正常に書き込まれるのはなぜですか?

   nfc.connect();
   byte[] arrByt = new byte[7];
   arrByt[0] = 0x01; //Command Flag 0x02 works fine
   arrByt[1] = 0x21;
   arrByt[2] = 0x06;
   arrByt[3] = 0x00;
   arrByt[4] = 0x00;
   arrByt[5] = 0x00;
   arrByt[6] = 0x00;           
   byte[] response = nfc.transceive(arrByt);

私のNFCチップ

Type V (ISO/IEC 15693 / Vicinity), Tag Type SL2 ICS2001 (ICODE SLI), Manufacturer NXP Semiconductors (Germany)

ここで話しました が、結果はありません:(

4

1 に答える 1

2

NfcV タグが成功しないコードを返すと、Android の NFC スタックはそれが例外であると想定し、「Tag was Lost」をスローします。
この例外を回避するには、コマンド 0x02 を使用すると、適切なバイト配列は次のようになります。
arrByte = {0x02, 0x21, 0x06, 0x00, 0x00, 0x00, 0x00}; ここで、0x02 はフラグ コマンド、0x21 はシングル ブロック書き込みコマンド、0x06 はブロック番号、残りは 4 バイトのデータです。これが役立つことを願っています。

于 2012-10-09T07:38:34.080 に答える