如何读取索尼Felica NFC卡的多块数据?

How to read multiple block data from Sony Felica NFC card?

要从 Sony Felica NFC 卡读取数据,我从 android 发送下面显示的命令:

 byte[] command = new byte[]{
                    (byte)0x10, //Length
                    (byte)0x06, //Command Code
                    (byte)0x01, (byte)0x2e, (byte)0x41, (byte)0x39, (byte)0x9c, (byte)0xc9, (byte)0x3a, (byte)0x51, // IDm
                    (byte)0x01,//Number of service
                    (byte)0x09, (byte)0x00,//Service code
                    (byte)0x01,//Number of block
                    (byte)0x80,  (byte)0x03 // Block Data
            };

通过transceive()函数

byte[] responsePacket = nfc.transceive(command);

我正在获取块 3 的数据作为响应。

但是我想用一个命令从卡中读取多个块数据。就像我想一次读取块 3 和块 4 的块数据一样。无法做到这一点。 任何参考也应该有帮助。

我终于想通了如何读取多个数据。 显示下面的示例代码。如果有人在读取多个数据时遇到问题。

byte[] command = new byte[]{
                    (byte)0x10, //Length
                    (byte)0x06, //Command Code
                    (byte)0x01, (byte)0x2e, (byte)0x41, (byte)0x39, (byte)0x9c, (byte)0xc9, (byte)0x3a, (byte)0x51, // IDm
                    (byte)0x01,//Number of service
                    (byte)0x09, (byte)0x00,//Service code
                    (byte)0x03,//Number of block
                    (byte)0x80,  (byte)0x01, // Block 1
                    (byte)0x80,  (byte)0x02, // Block 2
                    (byte)0x80,  (byte)0x03, // Block 3
            };

作为响应,我们将获得 3 个块的数据。