Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created April 23, 2019 15:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/680dae989b1105620d87db1c3996d94c to your computer and use it in GitHub Desktop.
Save parzibyte/680dae989b1105620d87db1c3996d94c to your computer and use it in GitHub Desktop.
package me.parzibyte.leercodigosdebarras;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class ActivityEscanear extends AppCompatActivity implements ZXingScannerView.ResultHandler {
private ZXingScannerView escanerZXing;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
escanerZXing = new ZXingScannerView(this);
// Hacer que el contenido de la actividad sea el escaner
setContentView(escanerZXing);
}
@Override
public void onResume() {
super.onResume();
// El "manejador" del resultado es esta misma clase, por eso implementamos ZXingScannerView.ResultHandler
escanerZXing.setResultHandler(this);
escanerZXing.startCamera(); // Comenzar la cámara en onResume
}
@Override
public void onPause() {
super.onPause();
escanerZXing.stopCamera(); // Pausar en onPause
}
// Estamos sobrescribiendo un método de la interfaz ZXingScannerView.ResultHandler
@Override
public void handleResult(Result resultado) {
// Si quieres que se siga escaneando después de haber leído el código, descomenta lo siguiente:
// Si la descomentas no recomiendo que llames a finish
// escanerZXing.resumeCameraPreview(this);
// Obener código/texto leído
String codigo = resultado.getText();
// Preparar un Intent para regresar datos a la actividad que nos llamó
Intent intentRegreso = new Intent();
intentRegreso.putExtra("codigo", codigo);
setResult(Activity.RESULT_OK, intentRegreso);
// Cerrar la actividad. Ahora mira onActivityResult de MainActivity
finish();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment