пытаюсь подключиться к принтеру Zebra, модель ZDesigner GK420t , из приложения Android через USB с использованием new 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
То, что я пытался доказать, что назначенные параметры, такие как UsbManager
и USB-устройство, не используются обрабатывается к UsbConnection()
, так как Nulls добавляет тосты до connection.Open()
следующим образом, где тосты печатаются соответственно как «менеджер», «устройство»:
Toast.makeText(mContext, manager == null ? "null manager" : "manager", Toast.LENGTH_LONG).show();
Toast.makeText(mContext, device == null ? "null device" : "device", Toast.LENGTH_LONG).show();
Также убедитесь, что созданное соединение не является null, добавив Toast до connection.Open()
, как указано ниже, где соединение Toast напечатано:
Toast.makeText(mContext, connection == null ? "null connection== " : "connection", Toast.LENGTH_LONG).show();
Важное примечание: свойство connectionAttributes объекта "connection" извлекается как null, один раз, когда атрибут connectionAttribute Свойству было присвоено значение «Карта» длиной 7, и принтер распечатал буфер, пытаясь собрать данные о том, что отличалось от В этом вызове connection.open (), когда значение connectionAttributes не было получено как ноль.
Не могу понять, что является причиной NullPointerException
Пожалуйста, помогите!