SmartPrintService
SmartPrintService
Serviço que fornece a interface necessária para utilizar a impressora nativa de um equipamento SmartPOS.
Para verificar se um terminal suporta impressão, o App pode utilizar MobileSDK.getInfo(), que devolve uma instância de Info, onde é possível verificar o suporte a impressão, através de isPrintSupport().
Observação
O serviço de impressão abstrai as particularidades de cada terminal e permite uma integração única, onde a execução é realizada de forma assíncrona e o status da impressão, recuperado através do callback SmartPrinter.PrinterCallback.
SmartPrintService smartPrintService = SmartPrintService.getInstance();
if (smartPrintService.init(getApplication())) {
smartPrintService.print(printLayout, new SmartPrinter.PrinterCallback() {
@Override
public void onSuccess() {
Log.i("print", "onSuccess");
}
@Override
public void onError(int errorCode, String message) {
Log.e("print", message);
}
serviço e chamar o método init(), nesse momento, o serviço identifica o terminal e inicializa a biblioteca nativa do hardware.
Conforme exemplo, o status da inicialização do serviço, deve ser consultado antes de solicitar a impressão, através do método print.
Método | Descrição |
---|---|
init(Context) | Inicializa o serviço de impressão e realiza bind na implementação nativa do hardware. |
print(PrintLayout, PrinterCallback) | Imprime o layout definido em PrintLayout e devolve o status através do callback PrinterCallback. |
print(PrintLayout[], PrinterCallback) | Imprime uma lista de layout e devolve o status geral da impressão. Ou seja, irá indicar sucesso, apenas se imprimir todos os itens da lista. |
print(PrintType, byte[]) | Disponibiliza o modo legado de impressão, que exige tratar cada item da impressão como uma impressão independente. Obs.: Deve ser utilizado apenas por parceiros já integrados e que possuem alguma restrição em relação a nova modalidade |
print(PrintType, byte[], PrinterCallback) | Disponibiliza o modo legado de impressão, que exige tratar cada item da impressão como uma impressão independente, porém, realiza a execução de forma assíncrona. Obs.: Deve ser utilizado apenas por Apps já integrados e que possuem alguma restrição em relação a nova modalidade. |
printBarcode(PrintType, byte[]) | Disponibiliza o modo legado de impressão, que exige tratar cada item da impressão como uma impressão independente. Obs.: Deve ser utilizado apenas por Apps já integrados e que possuem alguma restrição em relação a nova modalidade. |
printBarcode(PrintType, byte[], PrinterCallback) | Disponibiliza o modo legado de impressão, que exige tratar cada item da impressão como uma impressão independente, porém, realiza a execução de forma assíncrona. Obs.: Deve ser utilizado apenas por Apps já integrados e que possuem alguma restrição em relação a nova modalidade. |