Zebra RW420状态响应错误

时间:2016-07-06 08:04:18

标签: android printing bluetooth

在Android上通过蓝牙连接时,我无法获得Zebra RW420的打印机状态(智能手机和打印机已经配对,所有必要的权限都在清单文件中)。我正在为API 19编程。 我得到以下异常:

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代码没有任何问题。

我需要获取打印机的状态,因为我想在打印机出现问题时显示对话框,例如:缺纸等

更新 我还尝试将~HS命令发送到打印机,这会导致数据被发回,但是测试时打印机中没有纸张或者打开头,返回的数据并不表示存在问题。 / p>

1 个答案:

答案 0 :(得分:0)

尝试一次Thread.Sleep(或等效的android),然后重试几次。

我在.NET平台上使用相同的错误消息得到相同的信息。它似乎还没有时间连接。