Ваша команда, кажется, полностью запуталась.0xC0 - это код для CUSTOM READ SINGLE BLOCK, но используемые вами параметры предполагают, что вы захотите прочитать несколько блоков.Более того, руководство пользователя предполагает, что допустимый диапазон для номера блока составляет 0x600 - 0xA00, поэтому ваш номер блока 0x0E0, по-видимому, находится вне допустимого диапазона.Кроме того, количество блоков может быть только в диапазоне 0-2 / 0-5 в зависимости от конфигурации тега.Наконец, вы, вероятно, захотите использовать адресную команду на Android (поскольку у некоторых устройств возникают проблемы с неадресованной формой).Команда CUSTOM READ MULTIPLE BLOCKS может выглядеть следующим образом:
NfcV nfcV = NfcV.get(tag);
nfcV.connect();
byte[] tagUid = tag.getId(); // store tag UID for use in addressed commands
int blockAddress = 0x0600;
int numberOfBlocks = 2;
byte[] cmd = new byte[] {
(byte)0x20, // FLAGS (addressed)
(byte)0xC3, // CUSTOM_READ_MULTIPLE_BLOCKS
(byte)0x07, // MANUFACTURER CODE (TI)
0, 0, 0, 0, 0, 0, 0, 0, // Placeholder for UID (address), filled by arraycopy below
(byte)(blockAddress & 0x0ff),
(byte)((blockAddress >>> 8) & 0x0ff),
(byte)(numberOfBlocks & 0x0ff),
};
System.arraycopy(tagUid, 0, cmd, 3, 8);
byte[] response = nfcV.transceive(cmd);
nfcV.close();