Pessoal, vcs poderiam me ajudar?! Estou tentando ler codigo de barras com aqueles leitores infravermelho, da beematech entre outros, pelo android. A função que estou usando em minha activity para esperar a entrada é essa.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
char pressedKey = (char) event.getUnicodeChar();
Barcode += “” + pressedKey;
txtBarcode.setText(Barcode);
Toast.makeText(getApplicationContext(), "barcode--->>>" + Barcode, 1)
.show();
return true;
}
Vocês sabem de um jeito onde posso pegar o resultado de uma vez de barcode, e jogar em uma string, sem precisar estar lendo caracterer por caracter?? Desde já agradeço.
Fala Thiago,
Eu uso uma Lib muito boa pra ler qrcode e barcode que chama ZXing Core.
Coloca essa dependência no seu build.gradle;
compile 'com.google.zxing:core:3.2.0'
Na sua atividade, chame o no click de um botão, dessa forma:
IntentIntegrator integrator = new IntentIntegrator(Activity.this);
integrator.setOrientationLocked(false);
integrator.getCaptureActivity();
integrator.setPrompt("Centralize a linha vermelha a cima do Bar Code.");
integrator.initiateScan();
Depois é só pegar o resultado no onActivityResult, dessa forma:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Log.d("MainActivity", "Cancelled scan");
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
Log.d("MainActivity", "Scanned");
Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
}
}
}
Qualquer coisa grita ai.
Abraços.
Obrigado Leonardo, ja a utilizei par uma outra aplicação, sei oq ela faz, porém eu queria um meio de ler sem precisar do zxing, visto que terei um leitor infravermelho conectada a porta usb do android. Mto obrigado.
[Resolvido]
Eu usei o metodo onKeyUp e resolveu.