Я начал изучать, используя NFC в Android. Я могу легко читать и писать в формате NDEF.Конфигурируйте MIFARE DESFire EV1 как NFC Forum Type 4 Tag для NDEF
Моя проблема с MIFARE DESFire EV1, у меня есть некоторые фабричные карты, и я понимаю, что они не соответствуют типу NFC Forum 4 Tag спецификации и, следовательно, не принимают быть считаны или записаны в Формат NDEF (при их заводской настройке).
Я могу получить доступ к тегу через android.nfc.tech.NfcA
или android.nfc.tech.IsoDep
.
До сих пор я понимаю, что мне нужно использовать метод IsoDep.transceive()
для передачи команд, которые позволяют мне создавать тэг NFC Forum Type 4.
Но у меня много проблем. Я использую TagWriter, и он отлично работает. Каждый раз, когда я использую набор данных NDEF, он автоматически выполняет процедуру, которая делает карту тегом типа NFC Forum 4 и, следовательно, тег NDEF.
Однако я не мог найти простой пример, чтобы выполнить эту процедуру самостоятельно. Даже после чтения спецификационного документа NFCForum-TS-Type-4-Tag_2.0, я все еще очень потерян.
Есть ли какой-либо практический пример для выполнения процесса, который выполняет приложение TagWriter?
- Признать
NfcA
/IsoDep
(ок здесь) - Сделать карты соответствуют NFC Forum Type спецификации 4 Tag
- Start распознавания метки как
android.nfc.tech.Ndef
- Включить чтение и запись из ЦНК
Можете ли вы прокомментировать байтовый заказ? Согласно документу AN11004, «согласно спецификациям NDEF данные представлены в Network Byte-Order» (big-endian), но команды APDU используют первую нотацию LSB. Не следует ли выдавать данные выше (пункт 7) в обратном порядке при отправке команды APDU ?. Я довольно уверен, что смог правильно настроить приложение, так как приложение NXP (Android) распознает «Type 4 Tag version 1» под заголовком Desfire Applications, но если я перейду на вкладку NDEF, «Нет хранилища данных NDEF», отображается. Поэтому я не знаю, является ли моя проблема CC или файлом NDEF. Благодарю. – Paul
@Paul Можете ли вы быть более конкретным о том, какие поля вам интересны? Какие команды APDU? Вы имеете в виду команды MIFARE DESFire? Они используют первую нотацию LSB (но это касается только целочисленных полей, а не двоичных данных). Поля в CC находятся в правильном порядке (поскольку они должны быть записаны в файл CC в моем ответе выше). –