如何读取索尼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 个块的数据。
要从 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 个块的数据。