Bom dia a todos!
Desenvolvo uma aplicação para emissão de BP-e e migrei a parte mobile para o Acbr.
Tenho a aplicação rodando em vários dispositivos diferentes desde celulares com a
mini impressora BT a vário modelos de terminais POS.
Tanto o AcbrBPe quanto o AcbrPOSPrinter funcionam perfeitamente em qualquer dessas
situações.
O único problema que em tenho é com os terminais Cielo LIO.
Essas máquinas têm um SO modificado que não permite acessar a impressora.
Nesse sistema da Cielo LIO você envia comandos para a impressora no formato de urls
com o seguinte formato:
lio://print?request=$base64&urlCallback=order://response
O que eu tenho feito é criar um instrução nesse formato:
scheme := '{"operation":"PRINT_IMAGE","styles":[{"key_attributes_align":0,"key_attributes_textsize":40}],"value":["/storage/emulated/0/saved_images/QRCODE.BMP"]}';
E depois enviar a impressora com essa rotina:
Base64 := MinhaEncodeBase64(BytesOf(scheme));
Uri := 'lio://print?request='+Base64+'&urlCallback=order://response';
Imprime1 := TJIntent.Create;
Imprime1.setAction(TJIntent.JavaClass.ACTION_VIEW);
Imprime1.addFlags(TJIntent.JavaClass.FLAG_ACTIVITY_CLEAR_TOP) ;
Imprime1.setData(StrToJURI(uri));
SharedActivity.startActivity(Imprime1)
Será que é viável criar uma classe para compatibilizar o AcbrPosPrinter com esse método de impressão através Intent?
Se sim, vocês tem alguma dica para começar?
Desde já agradeço.
Márcio Dias Ramos