Android NFCV (ISO 15693) тег
Вопрос
Можно ли написать данные в определенные блоки в памяти на теге NFCV (ISO 15693)?Например.Напишите данные, чтобы заблокировать # 5 или любой конкретный блок #.
Я новичок в NFC Technologies.Я создаю приложение для чтения / записи NFCV (ISO 15693) тегов.Я успешно создал часть чтения, но проблема на написании части.Когда я хочу написать несколько текстовых данных в тег, он начнет с блока № 2 к дальнейшему и каждый раз, когда выполняет ту же процедуру.Я искал много, но не могу найти никакого решения для записи данных в определенные блоки.
Решение
Точные данные зависят от того, какой совместимый чип ISO 15693 находится внутри тега.Стандартные списки ISO 15693-3 различные команды записи.Поддержка этого являются необязательными, поэтому ваш тег может поддерживать одно или несколько из них или даже использовать запатентованную команду для записи данных.Я бы порекомендовал посмотреть таблицу данных чипа и / или приобрести стандарт ISO, чтобы узнать, что такое правильная команда.
Как только вы знаете, что такое правая команда, вы можете просто пройти байты команды в байтовом массиве в метод NfcV.transceive()
.(Обычно командные байты состоят из байта флага, за которым следует командный байт записи, один или несколько блочных байтов и байты данных, которые должны быть написаны.)
Другие советы
Пробовал следующее: Получение «тега было потеряно» исключение:
.nfc.connect(); byte[] arrByt = new byte[7]; arrByt[0] = 0x40; arrByt[1] = 0x21; arrByt[2] = 0x06; arrByt[3] = 0x00; arrByt[4] = 0x00; arrByt[5] = 0x00; arrByt[6] = 0x00; byte[] response = nfc.transceive(arrByt);
Я думаю, что Android Framework не обрабатывает ответа от тегов ISO15693 очень хорошо.Я играю с тегами HF-I.Немногие команды работают безупречно, и для нескольких других команд, команды NFC Stack бросает тег потерял исключение.