Inicio
Documentação
Recursos
Parcerias
Comunidade

Recursos

Confira as atualizações das nossas soluções e do funcionamento do sistema ou peça suporte técnico.

Parcerias

Conheça nosso programa para agências ou desenvolvedores que oferecem serviços de integração e vendedores que desejam contratá-los.

Comunidade

Fique por dentro das últimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Escanear códigos de barras e QR - SDK e Point Smart - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Escanear códigos de barras e QR

Abaixo você encontrará informações de como iniciar e gerenciar o escâner da Point Smart para a leitura de códigos de barra e QR.

Código de barras

Para iniciar a leitura de códigos de barras da Point Smart, use a função initBarcodeScanner da classe CameraScanner.

Esse processo utiliza uma chamada de câmera mediante startActivityForResult, de modo que o método onActivityResult deve ser implementado na atividade para manipular a resposta de leitura.

Confira o exemplo a seguir.

          
val cameraScanner = MPManager.cameraScanner
cameraScanner.initBarcodeScanner(this@YourActivity)

        
          
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
cameraScanner.initBarcodeScanner(this);

        

Código QR

Para iniciar a leitura de códigos QR da Point Smart, use a função initQRCodeScanner da classe CameraScanner.

Esse processo utiliza uma chamada de câmera mediante startActivityForResult, de modo que o método onActivityResult deve ser implementado na atividade para manipular a resposta de leitura.

Confira o exemplo a seguir.

          
val cameraScanner = MPManager.cameraScanner
cameraScanner.initQRCodeScanner(this@YourActivity)

        
          
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
cameraScanner.initQRCodeScanner(this);

        

Processar resposta de escâner

Para gerenciar a resposta de uma atividade de escâner de código QR ou de código de barras, use a função handleScannerResponse da classe CameraScanner no método onActivityResult.

Esta função processa o resultado do escâner da câmera, validando a resposta e invocando o callback apropriado de acordo com o resultado. Recebe um objeto MPResponse com um [CameraScannerResponse], representando a resposta da leitura.

Este método simplifica o processo de gerenciamento das respostas do escâner de QR ou código de barras no método onActivityResult, processando o resultado do escâner da câmera, validando a resposta e invocando o callback apropriado de acordo com o resultado.

Confira como isso ocorre a seguir.

          
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
   super.onActivityResult(requestCode, resultCode, data)

   val cameraScanner = MPManager.cameraScanner

   cameraScanner.handleScannerResponse(this, resultCode, data) { response ->
       response.doIfSuccess { result ->
           // Gerenciar resposta bem-sucedida
           val status = result.status
           val message = result.message
           // ... Fazer algo com a resposta
       }.doIfError { error ->
           // Gerenciar o erro na resposta
           val errorMessage = error.message
           // ... Fazer algo com o erro
        }
    }
}

        
          
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
 super.onActivityResult(requestCode, resultCode, data);

 final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
 final Function1<MPResponse<CameraScannerResponse>, Unit> callback = (final MPResponse<CameraScannerResponse> response) -> {

   if (response.getStatus() == ResponseStatus.SUCCESS) {
     final CameraScannerResponse cameraScannerResponse = response.getData();
     // Gerenciar resposta bem-sucedida
     final String result = response.getData().getMessage();
     // ... Fazer algo com a resposta
   } else {
     // Gerenciar o erro na resposta
     final Exception errorMessage = response.getError();
     // ... Fazer algo com o erro
   }
   return Unit.INSTANCE;
 };

 cameraScanner.handleScannerResponse(this, resultCode, data, callback);
}

        
CampoDescrição
resultCode (Int)Valor do resultCode em onActivityResult.
resultData (Intent?)Valor de data em onActivityResult.
MPResponse<CameraScannerResponse>Objeto [MPResponse] que encapsula o estado, o erro (se houver) e os dados em caso de sucesso, que contêm um objeto CameraScannerResponse. El callback a ser invocado con el resultado de la operación del escáner.
status (CameraScannerStatus)Define o estado da resposta. Pode ser "Ok" (a leitura foi exitosa), Error (houve um erro ou a leitura foi cancelada) ou Unknown (ocorreu um erro indeterminado).
message (String)Define a mensagem da resposta recebida pelo escâner. Se for "Ok", conterá o resultado da leitura do código.