Android nfcA.transceive (команда byte []), какова последовательность команд для получения данных с устройства nf c? - PullRequest
1 голос
/ 06 января 2020

У меня есть несколько вопросов относительно nfcA. Я интегрирую устройство NF C с моим приложением android для извлечения данных с устройства. Я успешно подключил устройство NF C с помощью nfcA.connect (). Карта NXP MIFARE Сверхлегкий . Это моя NF C информация об устройстве:

enter image description here

ВОПРОС : Какими должны быть байтовые команды [] для отправки nfcA.transceive (команды byte []) для извлечения данных с устройства. Когда я пытаюсь прочитать страницы с помощью следующей команды:

 byte[] commands = new byte[]{
                    (byte) 0x30,  // READ
                    (byte) 0x04,  // page address
                   };

У меня получается, но отображаются только пустые байты (00,00,00,00). Итак, у меня есть протокольный документ о том, как получить данные. Снимок экрана ниже:

Read Data Structure

Итак, учитывая эту структуру запроса, я попытался запустить байтовую команду с

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, поэтому нужно отправлять необработанные команды только для извлечения данных)

Любая помощь будет очень полезна.

...