У меня есть несколько вопросов относительно nfcA. Я интегрирую устройство NF C с моим приложением android для извлечения данных с устройства. Я успешно подключил устройство NF C с помощью nfcA.connect (). Карта NXP MIFARE Сверхлегкий . Это моя NF C информация об устройстве:
ВОПРОС : Какими должны быть байтовые команды [] для отправки nfcA.transceive (команды byte []) для извлечения данных с устройства. Когда я пытаюсь прочитать страницы с помощью следующей команды:
byte[] commands = new byte[]{
(byte) 0x30, // READ
(byte) 0x04, // page address
};
У меня получается, но отображаются только пустые байты (00,00,00,00). Итак, у меня есть протокольный документ о том, как получить данные. Снимок экрана ниже:
Итак, учитывая эту структуру запроса, я попытался запустить байтовую команду с
byte[] commands = new byte[]{
//NFCCmd
(byte) 0x06,
//Manufacture Code
(byte) 0x39,
(byte) 0x02,
//Card Identification Number
(byte) 0x00,
(byte) 0x00,
(byte) 0x01,
(byte) 0x80,
(byte) 0xD9
//Number of Service
(byte) 0x01,
//Service Code
(byte) 0x00,
(byte) 0x0B,
//Cnt
(byte) 0x02,
//BlockList Commands
(byte) 0x06,
(byte) 0x02,
(byte) 0x10,
(byte) 0x40
};
ПРОБЛЕМА: Идентификатор состоит из 7 байтов с помощью приложения mTag.getId () или TagInfo android (см. Изображение ниже).
Когда я отправляю команды, я получаю исключение. Тег потерян. Я знаю, это происходит из-за неверных команд. Можете ли вы помочь мне определить последовательность байтовых команд [] с учетом информации о моем устройстве (нельзя использовать Ndef, поэтому нужно отправлять необработанные команды только для извлечения данных)
Любая помощь будет очень полезна.