首页 > 解决方案 > 无法连接到设备:NullPointerException 通过 USB 从 android 连接到 Zebra 打印机?

问题描述

我正在尝试通过 USB 从 Android 应用程序连接到 Zebra 打印机,型号 ZDesigner GK420tnew UsbConnection() ,其中分配给USBConnection()构造函数的参数如下:

            UsbManager manager = (UsbManager) mContext.getSystemService(Context.USB_SERVICE);
        HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
        String DeviceName = "";
        for (String s : deviceList.keySet()) {
            DeviceName = s;
            break;
        }
        UsbDevice device = deviceList.get(DeviceName);
        connection = new UsbConnection(manager, device);
        connection.open();

但是,the connection.Open()导致以下异常:

Exception Message: Could not connect to device: NullPointerException
Exception Class: com.zebra.sdk.comm.ConnectionException
Cause: java.lang.NullPointerException

到目前为止,我尝试确保分配的参数 asUsbManager和 USB 设备没有被处理到UsbConnection()as Nulls 在connection.Open()如下之前附加 Toast,其中 Toast 分别打印“manager”、“device”:

Toast.makeText(mContext, manager == null ? "null manager" : "manager", Toast.LENGTH_LONG).show();
        Toast.makeText(mContext, device == null ? "null device" : "device", Toast.LENGTH_LONG).show();

还通过在 Toast 之前附加 Toast 来确保实例化的连接不为空connection.Open(),如下所示,其中 Toast 打印连接:

Toast.makeText(mContext, connection == null ? "null connection== " : "connection", Toast.LENGTH_LONG).show();

重要说明:“connection”对象的属性 connectionAttributes 被检索为 null,有一次将 connectionAttribute 属性分配为长度为 7 的“Map”值,打印机打印缓冲区,试图收集有关不同之处的数据在此 connection.open() 调用期间,未将 connectionAttributes 值检索为空。

无法弄清楚是什么原因造成的NullPointerException

请帮忙!

标签: androidusbzebra-printersusbmanager

解决方案


推荐阅读