如何使用Zebra_RFIDAPI3_SDK_2.0.0.2在RFID Scan for Zebra 8500中读取电池属性?

时间:2018-07-03 05:57:31

标签: android barcode-scanner rfid zebra

我正在尝试通过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();
            }
        };

0 个答案:

没有答案