Para usar a câmera interna como um scanner de código de barras, você precisa especificar as configurações para ela.

Um arquivo de configurações de código de barras pode ter esta aparência:

<?xml version="1.0" encoding="UTF-8"?>
<settings>

    <decoder>scandit</decoder>
    <>modesingle</mode>
    <timeout unit="MILLISECONDS">-1</timeout>
    <caching unit="MILLISECONDS">-1</caching>

    <roi>0.0,0.0,1.0,1.0</roi>

    <symbologies>
        <symbology min="0" max="0">qr</symbology>
    </symbologies>

    <hints>
        <force active="false"/>
    </dicas>

    <source>CAMERA</source>
</settings>

Propriedades

As propriedades das configurações de código de barras são:

<decodificador>: Define o mecanismo de decodificação a ser usado (scandit ou honeywell).

<modo>: Define se a decodificação deve parar após uma varredura bem-sucedida (single) ou não (continuous).

<tempo limite>: Define o tempo após o qual a decodificação será interrompida. Para não ter tempo limite, defina-o como -1.

<cache>: Define as configurações de cache do decodificador para reter os códigos digitalizados por um determinado período de tempo. Isso impedirá que o decodificador digitalize o mesmo código repetidamente. Para desativar totalmente o cache, defina-o como -1.

<simbologias>: Define os tipos de código que o mecanismo de varredura selecionará (ean 8, ean13, upca, upce, code39, code93, code128, datamatrixmsiqrou ).pdf47 Os min atributos e max definem o comprimento mínimo e máximo dos códigos reconhecidos.

<lista negra>: Define quais códigos são aceitos, outros tipos serão tratados como incorretos. Você pode usar tags <simbologia> (conforme descrito acima), bem como tags <padrão> tags. Ao usar marcas <padrão>, marque o início de um determinado padrão com ^ e o fim com $ e inclua a estrutura de código real entre esses marcadores.

Amostra completa

<?xml version="1.0" encoding="UTF-8"?>
<settings>

    <decoder>scandit</decoder>
    <mode>single</mode>
    <timeout unit="MILLISECONDS">10000</timeout>
    <caching unit="MILLISECONDS">-1</caching> <!-- Cache desativado -->

    <roi>0.2,0.2,0.8,0.8</roi>

    <symbologies>
        <symbology min="1" max="100" >qr</simbologia>
        <!-- É possível ativar mais de uma simbologia, mas por razões de desempenho recomenda-se 
        manter o número de simbologias ativadas o menor possível.
        <simbologia min="8" max="8">ean 8</symbology>
        <symbology min="8" max="13">ean 13</symbology>
        <symbology min="12" max="12">upca</symbology>
        <symbology min="6" max="6">upce</symbology>
        <symbology min="3" max="40">code 39</simbologia>
        <simbologia min="5" max="40">código 93</symbologia>
        <simbologia min="1" max="50">código 128</symbology>         
        <symbology min="3" max="32">msi</symbology>< 
        symbology min="1" max="100">datamatrix</symbology>   
        <symbology min="3" max="30" >pdf47</symbology>-->
    </symbologies>

    <hints>
        <force active="false"/>
    </hints>

    <source>CAMERA</source>

    <blackwhitelist whitelist="true">
        <code>
            <symbology>qr</symbology>
            <pattern>^1$</pattern>
        </code>
    </blackwhitelist><
/settings>