當在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