有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案