Skip to content

Scanner M11 Pro

felipm edited this page Oct 9, 2025 · 2 revisions

Documentação do Scanner Elgin E1

Configuração Inicial

A configuração do scanner deve ser feita no método onCreate() da sua Activity.

import com.elgin.e1.Scanner.Scanner;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    // Criação do listener para capturar resultados do scanner
    Scanner.OnScanListener scanListener = new Scanner.OnScanListener() {
        @Override
        public void onScanResult(String result) {
            // Aqui você recebe o resultado do scanner
            Log.i("RETORNO LISTENER SCANNER: ", result);
        }
    };
    
    // Inicialização do scanner com o contexto e o listener
    Scanner.init(this, scanListener);
}

Modos de Operação

O scanner Elgin E1 oferece dois modos de operação:

Modo Padrão (Leitura Única)

Ativa o scanner apenas uma vez. Após a leitura de um código, o scanner é desativado automaticamente.

// Inicia o scanner em modo padrão
Scanner.iniciaScanner();

Modo Contínuo

Mantém o scanner ativo continuamente até o encerramento manual. Ideal para leitura de múltiplos códigos em sequência.

// Inicia o scanner em modo contínuo
Scanner.iniciaScanner(true);

Para encerrar o modo contínuo:

Scanner.paraScanner();

Componentes Principais

Scanner.OnScanListener

Interface para capturar o resultado da leitura do código de barras.

onScanResult(String result)

Método callback chamado quando um código é lido com sucesso. Recebe o resultado da leitura como String.

Scanner.init(Context context, OnScanListener listener)

Inicializa o scanner. Deve ser chamado no onCreate() passando:

  • context: Contexto da Activity
  • listener: Implementação do OnScanListener

Scanner.iniciaScanner()

Inicia o scanner em modo padrão (leitura única).

Scanner.iniciaScanner(boolean continuo)

Inicia o scanner com opção de modo contínuo:

  • true: Modo contínuo (scanner permanece ativo)
  • false: Modo padrão (leitura única)

Scanner.paraScanner()

Encerra o scanner quando em modo contínuo.

Exemplo Completo

import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import com.elgin.e1.Scanner.Scanner;

public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // Configuração do listener
        Scanner.OnScanListener scanListener = new Scanner.OnScanListener() {
            @Override
            public void onScanResult(String result) {
                Log.i("SCANNER", "Código lido: " + result);
                // Processar o resultado aqui
            }
        };
        
        // Inicialização do scanner
        Scanner.init(this, scanListener);
    }
    
    // Método para iniciar leitura única
    public void iniciarLeituraUnica() {
        Scanner.iniciaScanner();
    }
    
    // Método para iniciar leitura contínua
    public void iniciarLeituraContinua() {
        Scanner.iniciaScanner(true);
    }
    
    // Método para parar o scanner contínuo
    public void pararScanner() {
        Scanner.paraScanner();
    }
}

Boas Práticas

  1. Sempre inicialize o scanner no onCreate() para garantir que esteja pronto quando necessário.

  2. Gerencie o ciclo de vida: Se estiver usando modo contínuo, lembre-se de parar o scanner quando a Activity for pausada ou destruída.

  3. Trate os resultados adequadamente: Valide e sanitize os dados recebidos antes de processar.

  4. Escolha o modo apropriado: Use modo padrão para leituras pontuais e modo contínuo para processos que exigem múltiplas leituras.