studio scanner libreria lector generador código como codigos codigo barra agregar android camera orientation qr-code zxing

scanner - Cambie la orientación del escáner QR con ZXING en Android Studio



lector qr android kotlin (4)

Espero me puedas ayudar con esto. Estoy usando Zxing Embedded Library para usar el escáner QR, el problema es que está en modo Paisaje y me gustaría cambiarlo a Vertical.

Tengo esto en las dependencias de mi Graddle

compile ''com.journeyapps:zxing-android-embedded:2.0.1@aar'' compile ''com.journeyapps:zxing-android-integration:2.0.1@aar'' compile ''com.google.zxing:core:3.0.1''

y tengo esto en mi clase de Java para activar el escáner con un botón ...

public void scanQR(View view){ IntentIntegrator integrator = new IntentIntegrator(this); integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES); integrator.setResultDisplayDuration(0);//Text.. integrator.setPrompt(" Scan a QR Code"); integrator.setScanningRectangle(450, 450);//size integrator.setCameraId(0); // Use a specific camera of the device integrator.initiateScan(); }

¡Gracias por la ayuda!


Funcionó para mí

IntentIntegrator integrator = new IntentIntegrator(YourActivity.this); integrator.setDesiredBarcodeFormats(IntentIntegrator.ALL_CODE_TYPES); integrator.setPrompt(getResources().getString(R.string.scan_a_barcode)); integrator.setCameraId(0); // Use a specific camera of the device integrator.setBeepEnabled(true); integrator.setBarcodeImageEnabled(false); integrator.initiateScan();


estoy usando

compile ''com.journeyapps: zxing-android-embedded: 3.1.0@aar''

Es una versión diferente, así que no sé si esto funcionará para ti, pero esto está funcionando para mí.

Más sobre mi configuración, solo compilo

''com.journeyapps: zxing-android-embedded: 3.1.0@aar''

''com.google.zxing: core: 3.0.1''

y no compilé

''com.journeyapps: zxing-android-integration: 2.0.1@aar''

Primero creé una actividad que se extiende desde CaptureActivity

o haga clic en este enlace para ver la clase https://gist.github.com/TheGratefulDev/21a557c9a96333ec037c

public class CaptureActivityPortrait extends CaptureActivity { //Nothing in side. }

Segundo, agrega esto

integrator.setCaptureActivity (CaptureActivityPortait.class);

en su código de integrador.

Así es como se ve el mío:

CustomIntegrator integrator = new CustomIntegrator(activity); integrator.setDesiredBarcodeFormats(CustomIntegrator.PDF_417); integrator.setPrompt("Scan a barcode"); integrator.setCameraId(0); // Use a specific camera of the device integrator.setOrientationLocked(true); integrator.setBeepEnabled(true); integrator.setCaptureActivity(CaptureActivityPortrait.class); integrator.initiateScan();

Finalmente, en el complemento AndroidMaifest

<activity android:name=".custom.CaptureActivityPortrait" android:screenOrientation="portrait" <---this is the most important line android:stateNotNeeded="true" android:theme="@style/zxing_CaptureTheme" android:windowSoftInputMode="stateAlwaysHidden"> </activity>


Acabo de encontrar la manera más fácil. Deberíamos crear otra clase CaptureActivity.java y escribir este código dentro del escucha onclick :

IntentIntegrator integrator = new IntentIntegrator(activity); integrator.setPrompt("Scan a barcode"); integrator.setDesiredBarcodeFormats(integrator.ALL_CODE_TYPES); integrator.setCameraId(0); integrator.setOrientationLocked(false); integrator.setCaptureActivity(com.share.ants.hotelmenu.CaptureActivity.class); <--replace with your own java class location here integrator.setBeepEnabled(true);


En lugar de extender una clase, simplemente agregue esto al manifiesto:

<activity android:name="com.journeyapps.barcodescanner.CaptureActivity" android:screenOrientation="portrait" tools:replace="android:screenOrientation" android:stateNotNeeded="true"/>

Funciona de maravilla