public class MainActivity extends Activity {
…
private Printer mPrinter;
…
public void onCreate(Bundle savedInstanceState) {
…
mPrinter = new Printer(this, mHandler, null);
mPrinter.findUsbPrinters();
}
private final Handler mHandler = new Handler(new Handler.Callback() {
public boolean handleMessage(Message msg) {
switch (msg.what) {
case Printer.MESSAGE_USB_DEVICE_SET:
Set<UsbDevice> usbDeviceSet = (Set<UsbDevice>) msg.obj;
for (UsbDevice device : usbDeviceSet) {
if (device.getProductId() == 0x6D) {
mPrinter.connect(device);
break;
}
}
return true;
case Printer.MESSAGE_STATE_CHANGE:
switch (msg.arg1) {
case Printer.STATE_CONNECTING: // TODO: Processing when connection to printer is being tried
break;
case Printer.STATE_CONNECTED: // TODO: Processing when printer connection is completed
mPrinter.printText(“This is a test\n”,0,1,0,true)
break;
case Printer.STATE_NONE: // TODO: Processing when printer is not connected
break;
}
break;
case Printer.MESSAGE_PRINT_COMPLETE:
mPrinter.disconnect();
break;
case Printer.MESSAGE_DEVICE_NAME:
String connectedDeviceName = msg.getData().getString( Printer.KEY_STRING_DEVICE_NAME);
break;
case Printer.MESSAGE_TOAST:
Toast.makeText(getApplicationContext(),msg.getData().getString(Printer.KEY_STRING_TOAST), Toast.LENGTH_SHORT).show();
break;
}
return true;
}
};
}