2011-04-09 31 views
11

He descargado el zxing 1.6 y pude ejecutar con éxito un escáner de código de barras independiente a través de él. Ahora este escáner está en otro proyecto y (CaptureActivity) y tengo el proyecto diferente de mi aplicación llamado MyProj, todo lo que quiero hacer es 0 al hacer clic en el botón de mi proyecto llamada CaptureActivity en otro proyecto, ¿cómo importo ese proyecto completo en mi proyecto o qué hago lo hago funcionar. Agradeciendo de antemanoLlamar al escáner de código de barras con un clic del botón en la aplicación de Android

+1

¿Hay un tipo de meme genérico que puedo llamar para "escaneo de código de barras"? este intento especifica explícitamente la aplicación zxing. – masi

+0

'com.google.zxing.client.android.SCAN' es el' Intento 'genérico para escanear. Es solo que ZXing ha existido desde antes de Android 1.0, así que es el estándar de facto. No solo selecciona Barcode Scanner. –

Respuesta

33

Creo que "copiar" Barcode Scanner e incluirlo en su aplicación podría estar sobrecargando sus proyectos. Por supuesto que debe utilizar la Intención del escáner:

A partir de aquí: http://code.google.com/p/zxing/wiki/ScanningViaIntent

Si el escáner de código de barras está instalado en su dispositivo Android, puede tener que escanear para usted y devuelve el resultado, simplemente mediante el envío de una Intención. Por ejemplo, se puede conectar un botón para escanear un código QR de esta manera:

public Button.OnClickListener mScan = new Button.OnClickListener() { 
    public void onClick(View v) { 
     Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
     intent.setPackage("com.google.zxing.client.android"); 
     intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
     startActivityForResult(intent, 0); 
    } 
}; 

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    if (requestCode == 0) { 
     if (resultCode == RESULT_OK) { 
      String contents = intent.getStringExtra("SCAN_RESULT"); 
      String format = intent.getStringExtra("SCAN_RESULT_FORMAT"); 
      // Handle successful scan 
     } else if (resultCode == RESULT_CANCELED) { 
      // Handle cancel 
     } 
    } 
} 

Para obtener más opciones, como el escaneo de un código de barras del producto, o pidiendo Barcode Scanner para codificar y mostrar un código de barras para usted, vea esta fuente archivo:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

Y aquí hay alguna fuente de nuestra aplicación de prueba que muestra cómo usarlos:

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

IntentIntegrator

También hemos comenzado a crear una pequeña biblioteca de clases que encapsulan algunos de los detalles anteriores. Consulte IntentIntegrator para una forma posiblemente más sencilla de integración. En particular, esto manejará el caso donde Barcode Scanner aún no está instalado.

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

a través de URL A partir de v2.6 escáner de código de barras, también puede iniciar la aplicación desde una URL en el navegador. Simple cree un hipervínculo al http://zxing.appspot.com/scan y Barcode Scanner ofrecerá el lanzamiento para manejarlo. Los usuarios también pueden elegir tener siempre abierto el Barcode Scanner.

NOTA: Esta URL no está destinada a servir una página web real en un navegador, es solo un gancho para iniciar una aplicación nativa.

conocidos Problemas jamesikanos usuario de Informes del 'Gotcha' siguiente:

crear una actividad TabHost con "SingleInstance" launchMode Crear una actividad infantil con un "Iniciar escaneo" botón (lanzamiento ZXing utilizando el IntentIntegrator de este botón) onActivityResult en su hijo actividad volverá inmediatamente como "cancelado" onActivityResult nunca se llama posteriormente

+0

Si inicia el intento sin configurar el paquete, obtendrá el lector de código qr predeterminado instalado (qr druid en mi caso) o un diálogo de selector de aplicaciones si tiene más de un – Radon8472

Cuestiones relacionadas