java如何修复“GetStatus Write RFID\u API\u UNKNOWN\u错误数据(x)字段只能获取单词值”Android RFID 8500 Zebra
我正试图开发和应用读写射频标签。阅读是完美的,但我在写作方面有问题。特别是错误“GetStatus Write RFID\u API\u UNKNOWN\u error data(x)-字段只能获取字值”
我曾尝试通过获取以下信息对Zebra RFID API Mobile进行反向工程。apk和解码它,但代码是模糊的,我无法解释为什么该应用程序的编写工作,而我的不工作
我在185页的https://www.ptsmobile.com/rfd8500/rfd8500-rfid-developer-guide.pdf中看到了错误,但我不知道是什么原因造成的
我已经尝试过将writeData强制更改为Hex,在我意识到API本身可以做到这一点之前,我也尝试过更改writeData的长度,但它只得到一个null值。我太迷路了
public boolean WriteTag(String sourceEPC, long Password, MEMORY_BANK memory_bank, String targetData, int offset) {
Log.d(TAG, "WriteTag " + targetData);
try {
TagData tagData = null;
String tagId = sourceEPC;
TagAccess tagAccess = new TagAccess();
tagAccess.getClass();
TagAccess.WriteAccessParams writeAccessParams = tagAccess.new WriteAccessParams();
String writeData = targetData; //write data in string
writeAccessParams.setAccessPassword(Password);
writeAccessParams.setMemoryBank(MEMORY_BANK.MEMORY_BANK_USER);
writeAccessParams.setOffset(offset); // start writing from word offset 0
writeAccessParams.setWriteData(writeData);
// set retries in case of partial write happens
writeAccessParams.setWriteRetries(3);
// data length in words
System.out.println("length: " + writeData.length()/4);
System.out.println("length: " + writeData.length());
writeAccessParams.setWriteDataLength(writeData.length()/4);
// 5th parameter bPrefilter flag is true which means API will apply pre filter internally
// 6th parameter should be true in case of changing EPC ID it self i.e. source and target both is EPC
boolean useTIDfilter = memory_bank == MEMORY_BANK.MEMORY_BANK_EPC;
reader.Actions.TagAccess.writeWait(tagId, writeAccessParams, null, tagData, true, useTIDfilter);
} catch (InvalidUsageException e) {
System.out.println("INVALID USAGE EXCEPTION: " + e.getInfo());
e.printStackTrace();
return false;
} catch (OperationFailureException e) {
//System.out.println("OPERATION FAILURE EXCEPTION");
System.out.println("OPERATION FAILURE EXCEPTION: " + e.getResults().toString());
e.printStackTrace();
return false;
}
return true;
}
与
- 密码是00
- sourceEPC是读取后获得的标记ID
- 内存库就是内存库。内存\银行\用户
- 目标数据为“8426017056458”
- 偏移量为0
它总是给我“GetStatus Write RFID\u API\u UNKNOWN\u ERROR data(x)-字段只能获取单词值”,我不知道为什么会出现这种情况,也不知道“单词值”是什么,我已经搜索过了。这也都在“操作失败例外”下。任何帮助都将不胜感激,因为网上几乎没有这方面的资源
共 (0) 个答案