We have a customer that has a bunch of these RW 420 printers.
It appears that this printer does not include support for Link OS SDK.
Are Android Apps able to discover and interface to this printer without LinkOS SDK support?
If yes, which SDK needs to be used?
Thanks.
1 Replies
There are different models of the RW420, they can include a Bluetooth or Wi-Fi radio (or both). You will be able to print to them using either type of connection, as long as you send the appropriate CPCL or ZPL commands to it. Note, however, that this model was discontinued in 2015 and support for it will be discontinued at the end of 2020 as per https://www.zebra.com/gb/en/support-downloads/printers/mobile/rw-420.ht…
Here's a code sample for connecting through Bluetooth:
Connection thePrinterConn = new BluetoothConnection(theBtMacAddress); // Open the connection - physical connection is established here. thePrinterConn.open(); // This example prints "This is a ZPL test." near the top of the label. String zplData = "^XA^FO20,20^A0N,25,25^FDThis is a ZPL test.^FS^XZ"; // Send the data to printer as a byte array. thePrinterConn.write(zplData.getBytes()); thePrinterConn.close();
The LinkOS SDK does support legacy printers, however, so you can still use its legacy support:
public class PrinterStatusExample { public static void main(String[] args) throws Exception { Connection connection = new TcpConnection("192.168.1.100", TcpConnection.DEFAULT_ZPL_TCP_PORT); try { connection.open(); ZebraPrinter printer = ZebraPrinterFactory.getInstance(connection); PrinterStatus printerStatus = printer.getCurrentStatus(); if (printerStatus.isReadyToPrint) { System.out.println("Ready To Print"); } else if (printerStatus.isPaused) { System.out.println("Cannot Print because the printer is paused."); } else if (printerStatus.isHeadOpen) { System.out.println("Cannot Print because the printer head is open."); } else if (printerStatus.isPaperOut) { System.out.println("Cannot Print because the paper is out."); } else { System.out.println("Cannot Print."); } } catch (ConnectionException e) { e.printStackTrace(); } catch (ZebraPrinterLanguageUnknownException e) { e.printStackTrace(); } finally { connection.close(); } }}
What you will not be able to do is use the LinkOS specific classes from the SDK, such as ZebraPrinterLinkOs
Javier Molina
Technical Architect, Kutir Mobility
Posted on behalf of Zebra Technologies