我正在尝试通过Rfid扫描从Zebra 8500获取电池属性,我正在使用Zebra_RFIDAPI3_SDK_2.0.0.2
我想做的就是这个(请参见下面的代码)
创建一个RfidEventsListener对象 然后订阅eventStatusNotify并尝试访问电池充电级别
但是每次给我提供null值时,RfidEventsListener都会出现问题。
有人可以帮助我吗?
rfidReader.Events.setBatteryEvent(true);
rfidReader.Config.getDeviceStatus(true, true, true);
StatusEventData statusEventData =
rfidReader.Events.GetStatusEventData(RFID_EVENT_TYPE.BATTERY_EVENT);
RfidStatusEvents rfidReadEvents = new RfidStatusEvents(statusEventData);
rfidReadEvents.setStatusEventData(statusEventData);
rfidReader.Events.addEventsListener(eventHandler);
eventHandler.eventStatusNotify(rfidStatusEvents);
RfidEventsListener eventHandler = new RfidEventsListener() {
@Override
public void eventStatusNotify(RfidStatusEvents rfidStatusEvents) {
boolean charging = rfidStatusEvents.StatusEventData.BatteryData.getCharging();
int battery = rfidStatusEvents.StatusEventData.BatteryData.getLevel();
String batterycause = rfidStatusEvents.StatusEventData.BatteryData.getCause();
StatusEventData statusEventData = rfidReader.Events.GetStatusEventData(RFID_EVENT_TYPE.BATTERY_EVENT);
RfidStatusEvents rfidReadEvents = new RfidStatusEvents(statusEventData);
rfidReadEvents.setStatusEventData(statusEventData);
}
}
@Override
public void eventReadNotify(RfidReadEvents rfidReadEvents) {
Toast.makeText(context, "rfidReadEvents : ", Toast.LENGTH_SHORT).show();
}
};