本篇介绍如何用RFID手持枪对RFID标签进行EPC写入。
说明:
本次使用的手持枪为Zebra MC333R
本次使用的是Android SDK(RFIDAPI3Library),并非Xamarin
因为写入操作是需要指定标签的,所以一般在执行写入操作前都会先进行标签的读取操作。具体读取操作可以参照我的另一篇文章(RFID 标签读取)
,在此不在赘述,直接来看写入操作。
- 标签写入操作
private void doWrite(final String tagId, String writeData) {
final TagData tagData = null;
TagAccess tagAccess = new TagAccess();
final TagAccess.WriteAccessParams writeAccessParams = tagAccess.new WriteAccessParams();
writeAccessParams.setAccessPassword(0);
writeAccessParams.setMemoryBank(MEMORY_BANK.MEMORY_BANK_EPC);
writeAccessParams.setOffset(2);
writeAccessParams.setWriteData(writeData);
// data length in words
writeAccessParams.setWriteDataLength(writeData.length() / 4);
new AsyncTask<Void, Void, Boolean>() {
private Boolean bResult = false;
@Override
protected Boolean doInBackground(Void... voids) {
try {
myReader.Actions.TagAccess.writeWait(tagId, writeAccessParams, null, tagData);
bResult = true;
} catch (InvalidUsageException e) {
e.printStackTrace();
} catch (OperationFailureException e) {
e.printStackTrace();
Log.d(TAG, "OperationFailureException " + e.getVendorMessage());
}
return bResult;
}
@Override
protected void onPostExecute(Boolean result) {
if (result) {
//写入成功
//TODO
} else {
//写入失败
//TODO
}
}
}.execute();
}