Uma forma de aproveitar a câmera do seu celular para ler códigos de barras numa aplicação web é com o auxílio do Barcode Scanner da ZXing Team. Com o programa instalado no smartphone, basta criar um link html em sua aplicação e o mesmo chama o programa que vai ler o código de barras (ou QR code) e retorna o resultado à sua aplicação.
Ele está disponível para Android, iPhone, Blackberry e para outros aparelhos usando J2ME / JavaME.
Link do Barcode Scanner para Android.
Os testes que fiz foram feitos no Android:
<!DOCTYPE html> <html lang="pt-Br"> <head> <meta charset="utf-8" /> <title>Código de Barras</title> </head> <body> <form action="#" method="post"> Código de barras (<a href="http://zxing.appspot.com/scan?ret=http://www.seu-dominio.com.br/seu-arquivo.php?codigo={CODE}">Leitor</a>): <input type="text" name="cod" value="<?= $_GET['codigo'] ?>" /> </form> </body> </html>
Abra a página com o código acima (exemplo aqui) num smartphone com Android e clique em (Leitor). Se você não tiver o Barcode Scanner instalado, abrirá uma página em inglês explicando que é preciso instalar o programa para completar a ação e já passa os links para download.
Depois de instalado, quando você clicar em (leitor) será exibida a tela
pedindo para escolher uma aplicação para completar a ação. Marque “Usar como padrão esta ação.” e escolha Barcode Scanner para que das próximas vezes ele abra automaticamente, sem perguntas.
Posicione o código de barras sob a linha vermelha na área mais clara da tela e aguarde a leitura. Quando a mesma é feita, ele retorna automaticamente para sua aplicação com a numeração (ou texto) do código na url. No nosso exemplo a numeração foi colocada num campo de formulário.
Durante os testes no Nexus One, Nexus S e no Milestone 2 o código de barras foi interpretado rapidamente. Com o Galaxy 5 houve dificuldade de se fazer a leitura, provavelmente por causa da resolução da câmera. Quem puder testar em outros aparelhos, coloque nos comentários sua impressão.