Cómo reiniciar la cámara de manera eficiente en un fragmento – Barcode Scanner

Tengo dos fragmentos en mi aplicación y estoy tratando de implementar un escáner de código de barras utilizando la biblioteca ZXingScanner en uno de ellos. La implementación funciona bien. Mi pregunta está básicamente relacionada con el mal diseño.

Cuando el usuario escanea un código válido aparece un cuadro de diálogo diciendo que el código es válido. Pero cuando descarto el diálogo (presionando OK) el escáner de código de barras se detiene. Para resolver este problema tengo lo siguiente:

 buttonConfirm.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { popupView.dismiss(); restartCamera(); } }); public void restartCamera(){ mScannerView.stopCamera(); //mScannerView = new ZXingScannerView(getActivity()); mScannerView.startCamera(); } 

El problema con este enfoque es que cuando cambie los fragmentos de la cámara sigue funcionando detrás. ¿Cómo puedo detener la cámara cuando cambie al primer fragmento y luego volverlo a activar Y solucionar este problema. (Estoy usando ViewPager para implementar mis fragmentos)

Ok, finalmente encontré la solución. setMenuVisibility mi método setMenuVisibility en mi fragmento de cámara. Si el fragmento es visible, llame restartCamera() método restartCamera() otra forma detenga la cámara.

 @Override public void setMenuVisibility(final boolean visible){ if (visible){ if (mScannerView != null) { Log.v("FragmentQR", "Visible"); restartCamera(); } } else { if (mScannerView != null){ mScannerView.stopCamera(); Log.v("FragmentQR","InVisible"); } } 
  • Cámara Android centrada sólo una vez
  • Android Genera código QR y código de barras usando Zxing
  • Utilizar la biblioteca de Zxing en PreviewFrame para aumentar la realidad
  • Cómo agregar un logotipo al código QR en android
  • ¿Puedo controlar la linterna sin usar android.hardware.Camera?
  • Cómo utilizar el resultado del escaneo ZXING
  • Alternativa a la biblioteca de lectores QR de zxing para Java / Android?
  • Cómo detener la exploración continua mediante zxing-android-embedded en Android
  • Escáner de código de barras zxing en una div fija en phonegap android app
  • Codificación y decodificación de bytes con ZXing
  • ActionBar bajo notificación / barra de título
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.