Я пытаюсь прочитать данные банка памяти из тегов, исключений нет, но статус операции возвращает «ACCESS_TAG_MEMORY_OVERRUN_ERROR»
Это происходит сейчас с каждым тегом, в то время как официальное приложение SKD RFID Zebra имеет ошибку времени ожидания при попытке чтения, когда раньше этого не происходило, поэтому мне интересно, не сломался ли мой читатель. Я в недоумении. В документации абсолютно ничего не говорится о том, что означают эти ошибки, и почти нет ресурсов по кодированию RFID.
public String readTag(String tagID){
String tagId = tagID;
TagAccess tagAccess = new TagAccess();
TagAccess.ReadAccessParams readAccessParams = tagAccess.new ReadAccessParams();
readAccessParams.setCount(4);
readAccessParams.setMemoryBank(MEMORY_BANK.MEMORY_BANK_USER);
readAccessParams.setOffset(0);
try {
TagData tagData = reader.Actions.TagAccess.readWait(tagId, readAccessParams, null);
System.out.println("OPERATION STATUS ---> " + tagData.getOpStatus());
return tagData.getMemoryBankData();
} catch (InvalidUsageException e) {
System.out.println("INVALID USAGE EXCEPTION ---> " + e.getInfo());
e.printStackTrace();
return "";
} catch (OperationFailureException e) {
System.out.println("INVALID USAGE EXCEPTION ---> " + e.getResults());
e.printStackTrace();
return "";
}
}
Несмотря на то, что это метод чтения, я не совсем уверен, что он здесь виноват, поскольку он скопирован из руководства по Zebra в http://techdocs.zebra.com/dcs/rfid/android/2-15/tutorials/readaccess/, но я в растерянности. Он просто возвращает значение «ноль» (несмотря на то, что я знаю, что у него есть данные) и даёт мне «ACCESS_TAG_MEMORY_OVERRUN_ERROR» в качестве статуса. Просто зная, что это значит, я укажу в правильном направлении. На самом деле, я могу только догадываться вслепую, и это очень расстраивает. Спасибо.