С помощью считывателя ACS NFC возможно:
Здесь вы можете найти документацию для библиотек и пример кода. Однако, похоже, нет возможности записать данные. Если вы хотите выполнить запись в считыватель NFC, используйте функцию передачи для отправки байтовых массивов.
private static final byte READ = (byte) 0x30;
private static final byte WRITE = (byte) 0xA2;
Эти байты являются байтами чтения и записи по умолчанию для функции передачи. Полную документацию по протоколу NFC по умолчанию можно найти здесь
пример:
byte[] response = new byte[300];
int responseLength;
try {
responseLength = mReader.transmit(slotNum, command, command.length, response, response.length);
} catch (ReaderException e) {
e.printStackTrace();
return "executeCommand: error: " + e.getMessage();
}
Slotnum - номер читателя, который вы хотите использовать. Если я прав, это всегда 0, если вы используете один ридер / usbdevice.
пример команды:
new byte[] command {(byte) WRITE, 0x04, 0x06, 0x0a, 0x00, 0x21}
ВТОРОЙ БАЙТ - ЭТО СТРАНИЦА, НАПИСАННАЯ ДЛЯ ПИСАНИЯ. Страница 4 - 15 доступны для записи (страницы 0 и 1 - это идентификаторы, страницы 2 - это байты блокировки, а страница 3 - это OTP. Все они предназначены только для чтения).
Функция чтения работает так же, как функция WRITE, отправляя только 3 раза 0x00 в массиве для правильных настроек чтения:
new byte[] command {(byte) READ, 0x04, 0x00, 0x00, 0x00}
ВТОРОЙ БАЙТ - ЭТО СТРАНИЦА, ЧТОБЫ ПРОЧИТАТЬ.