Skip to content

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.