当在Android上通过蓝牙连接Zebra RW420时,我无法获得Zebra RW420的打印机状态(智能手机和打印机已经配对,所有必要的权限都在清单文件中)。我编程的API 19. 我得到以下异常:Zebra RW420格式错误状态响应
com.zebra.sdk.comm.ConnectionException: Malformed status response - unable to determine printer status
我的代码,我尝试并获得情况如下:
Connection printer_connection = new BluetoothConnection(printer_address);
printer_connection.open();
if (printer_connection.isConnected())
{
ZebraPrinter printer = ZebraPrinterFactory.getInstance(PrinterLanguage.ZPL, printer_connection);
ZebraPrinterLinkOs linkos_printer = ZebraPrinterFactory.createLinkOsPrinter(printer);
PrinterStatus printer_status = (linkos_printer != null) ? linkos_printer.getCurrentStatus() : printer.getCurrentStatus();//new PrinterStatusZpl(printer_connection);
if (printer_status.isReadyToPrint)
{
// Send print commends
printer_connection.close();
}
....
}
的
ZebraPrinterLinkOs linkos_printer = ZebraPrinterFactory.createLinkOsPrinter(printer);
PrinterStatus printer_status = (linkos_printer != null) ? linkos_printer.getCurrentStatus() : printer.getCurrentStatus();//new PrinterStatusZpl(printer_connection);
部分是我从Zebra示例代码中得到的。
当我删除涉及PrinterStatus的代码行时,我可以通过Android智能手机将打印命令发送到RW420打印机,并且打印标签/ qr代码没有任何问题。
我需要获得打印机的状态,因为我想在打印机出现问题时显示对话框,例如,外的纸张等
UPDATE: 我还试图发送HS〜命令,其确实导致数据的打印机被发送回但测试,如具有在打印机中没有纸张或离开头部打开回来的数据并不表示存在问题。
如果您评论'linkos_printer'实例并直接调用'printer.getcurrentStatus'会发生什么? –
完全一样的结果。我最初只用'printer.getCurrentStatus'来尝试它。 linkos_printer为空,因为RW420不是LinkOsPrinter。我想知道是否需要使用Zebra工具之一配置打印机的状态。 – solarrobor
你能解决问题的地方? – PLOW