Escáner de imagen de código de barras

Soy nuevo en android. Estoy tratando de desarrollar un escáner de código de barras, que funciona de la siguiente manera: tome una imagen (del código de barras) a través de la cámara y escanee esta imagen de código de barras. mi pregunta es como puedo hacerlo Gracias por adelantado

Aquí está mi código:

TextView result_text;
Button scan_btn;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    result_text = (TextView)findViewById(R.id.Result_tv);

    scan_btn = (Button)findViewById(R.id.Barcode_Scan_Button);
    scan_btn.setOnClickListener( new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent scanIntent= new Intent("com.google.zxing.client.android.SCAN");
            scanIntent.putExtra("SCAN_MODE", "QR_CODE_MODE");

            startActivityForResult(scanIntent, 0);

        }
    });
}

public void onActivityResult(int requestCode, int resultCode, Intent intent) {

        if (requestCode == 0) {


          if (resultCode == RESULT_OK) {

            result_text.setText(intent.getStringExtra("SCAN_RESULT"));

          } else if (resultCode == RESULT_CANCELED) {

            result_text.setText("Scan cancelled.");

          }

        }

      }

    }

preguntado el 04 de julio de 12 a las 06:07

4 Respuestas

@Zain, el enfoque que está tomando no es estrictamente recomendable.

Según sus pautas, no debe llamar explícitamente a Scan Intent.

Debes usar nuevo IntentIntegrator clase lanzada por zxing.

Aqui tienes

Primero agregue código para invocar el Intent:

IntentIntegrator integrator = new IntentIntegrator(yourActivity);
integrator.initiateScan();

Descargue la clase IntentIntegrator desde la siguiente URL.

http://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.java

En segundo lugar, agregue esto a su actividad para manejar el resultado:

@Override   
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
  IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
  if (scanResult != null) {
    // handle scan result
  }
  // else continue with any other code you need in the method
  ...
}

Invierta su tiempo en visitar la página wiki de Zxing. Lo han explicado muy bien.

http://code.google.com/p/zxing/w/list

http://code.google.com/p/zxing/wiki/ScanningViaIntent

Aquí hay una aplicación de muestra que demuestra cómo llamar a la intención de Zxing.

http://code.google.com/p/zxing/source/browse/trunk/androidtest/src/com/google/zxing/client/androidtest/ZXingTestActivity.java

Finalmente Test Project + Library se encuentra en

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%253Fstate%253Dclosed

Respondido 04 Jul 12, 06:07

Estoy confundido acerca de cómo obtener la imagen de la cámara y pasarla al escáner para escanearla... - zain

IntentIntegrator integrador = new IntentIntegrator(yourActivity); integrador.initiateScan(); Lo llamé onCreate, recibo un error cuando intento reemplazar yourActivity con el nombre de mi clase avtivity. - zain

@Zain pruebe la aplicación de ejemplo que le han proporcionado. Eso le dará instrucciones. - vipul

cuando hago clic en el botón escanear, aparece el mensaje de instalación del escáner de código de barras. No quiero este enfoque... - zain

ESTUDIO http://code.google.com/p/zxing/

De todos modos, el problema es bastante complejo, esto lo hace IIRC usando Fouriers, detección de bordes, cálculos matriciales, etc. Además, hay muchos estándares. Prepárate para un mes de trabajo.

Respondido 04 Jul 12, 06:07

Mire el siguiente enlace que lo ayudará a desarrollar la aplicación de escaneo de códigos de barras

Escaneo de código de barras1 Escaneo de código de barras2

contestado el 23 de mayo de 17 a las 12:05

La API de escaneo de código de barras del kit Firebase ML se puede usar para crear una función de escaneo de código de barras en las aplicaciones de Android. Para obtener el valor del código de barras, la imagen vertical que contiene el código de barras debe transferirse a la API de escaneo de códigos de barras del kit Firebase ML.

Aquí se presenta una aplicación de ejemplo con función de escaneo de código de barras.

Respondido 08 ago 19, 16:08

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.