Android ZXing Obtener imagen de código de barras

Estoy utilizando la biblioteca de Zxing para generar un código de barras en mi aplicación de Android

Intent intent = new Intent("com.google.zxing.client.android.ENCODE"); intent.putExtra("ENCODE_FORMAT", "UPC_A"); intent.putExtra("ENCODE_DATA", "55555555555"); startActivityForResult(intent,0); 

¿Hay de todos modos para guardar la imagen generada en mi aplicación que está llamando a Zxing? Veo que en mi onActivityResult consigo la intención null.

Gracias de antemano por tu ayuda

Tome la caché de vistas y guárdela en bitmap algo como esto

 View myBarCodeView = view.getRootView() //Else this might return null myBarCodeView.setDrawingCacheEnabled(true) //Save it in bitmap Bitmap mBitmap = myBarCodeView.getDrawingCache() 

O dibuja tu propio código de barras o QR CODE

 //Change the writers as per your need private void generateQRCode(String data) { com.google.zxing.Writer writer = new QRCodeWriter(); String finaldata =Uri.encode(data, "ISO-8859-1"); try { BitMatrix bm = writer.encode(finaldata,BarcodeFormat.QR_CODE, 350, 350); mBitmap = Bitmap.createBitmap(350, 350, Config.ARGB_8888); for (int i = 0; i < 350; i++) { for (int j = 0; j < 350; j++) { mBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK: Color.WHITE); } } } catch (WriterException e) { e.printStackTrace(); } if (mBitmap != null) { mImageView.setImageBitmap(mBitmap); } } public void generateBarCode(String data){ com.google.zxing.Writer c9 = new Code128Writer(); try { BitMatrix bm = c9.encode(data,BarcodeFormat.CODE_128,350, 350); mBitmap = Bitmap.createBitmap(350, 350, Config.ARGB_8888); for (int i = 0; i < 350; i++) { for (int j = 0; j < 350; j++) { mBitmap.setPixel(i, j, bm.get(i, j) ? Color.BLACK : Color.WHITE); } } } catch (WriterException e) { e.printStackTrace(); } if (mBitmap != null) { mImageView.setImageBitmap(mBitmap); } } 

Una vez que obtenga la imagen de mapa de bits solo guárdela

 //create a file to write bitmap data File f = new File(FilePath, FileName+".png"); f.createNewFile(); //Convert bitmap to byte array ByteArrayOutputStream bos = new ByteArrayOutputStream(); ImageBitmap.compress(CompressFormat.PNG, 0, bos); byte[] bytearray = bos.toByteArray(); //Write bytes in file FileOutputStream fos = new FileOutputStream(f); fos.write(bytearray); fos.flush(); fos.close(); 

También puede comprobar una pequeña biblioteca de github que había creado para crear Código de barras o Código QR

 GZxingEncoder Encoder = GZxingEncoder.getInstance(); Encoder.initalize(this); //To generate bar code use this Bitmap bitmap = Encoder.generateBarCode_general("some text") 

No se devuelve en el Intent ahora mismo. No hay manera de conseguirlo. Usted podría sugerir un parche para que sea devuelto – es probablemente un par de días de trabajo. O intente el enfoque de Girish, que es sólo para incrustar la codificación directamente.

Para almacenar la imagen escaneada en ZXing, tiene que sobrescribir un método drawResultPoints en Class CaptureActivity.

  String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root); myDir.mkdirs(); Random generator = new Random(); int n = 10000; n = generator.nextInt(n); String fname = "Image-"+ n +".jpg"; File file = new File (myDir, fname); if (file.exists ()) file.delete (); try { FileOutputStream out = new FileOutputStream(file); barcode.compress(Bitmap.CompressFormat.JPEG, 90, out); out.flush(); out.close(); } catch (Exception e) { Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show(); } 

Esto guardará la imagen escaneada en el directorio raíz de la tarjeta SD, puede personalizarla para guardarla en cualquier carpeta particular que necesite. La imagen que se va a almacenar es la imagen escaneada que aparece como una imagen fantasma mientras escanea.

  • ¿Es posible mostrar números bajo un código de barras de una dimensión generado por ZXing?
  • Cámara Zxing en modo vertical en Android
  • ZXing Lector de código de barras: ¿Cómo hacer frontera personalizada alrededor de la pantalla de captura?
  • ¿Cómo puedo codificar caracteres usando UTF-8 en un código QR usando el proyecto Zxing?
  • Un escáner de QR dentro de un fragmento
  • Cómo activar la exploración de modo masivo en zxing
  • Recursos para Android de Xamarin NotFoundException ZXingNetMobile
  • Uso de zxing Barcode Scanner dentro de una página web
  • ZXing en Android PDF417
  • Cómo reiniciar la cámara de manera eficiente en un fragmento - Barcode Scanner
  • ZXing cómo escanear código QR y código de barras 1D?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.