S
SpecialFighter108
App-Anbieter (In-App)
- 4
Guten Morgen alle zusammen,
ich habe in meiner Android app den Barcode Scanner von Zxing eingebunden.
Dieser funktioniert auch ganz gut, bis auf eine winzige, aber wichtige Sache.
Meine App wird ausschließlich im Portait Mode verwendet.
Scannen ich einen Barcode, der horizontal verläuft (genau so wie die rote Linie), wird dieser Barcode erfolgreich erkannt und gescannt:

Wenn ich aber einen Barcode scanne, welcher nicht horizontal, sondern vertikal verläuft, wird der Barcode nicht erkannt und nicht gescannt:

Das ist die komplette Class des Barcode Scanners.
Habt ihr ne Idee wie ich das Problem lösen kann?
ich habe in meiner Android app den Barcode Scanner von Zxing eingebunden.
Dieser funktioniert auch ganz gut, bis auf eine winzige, aber wichtige Sache.
Meine App wird ausschließlich im Portait Mode verwendet.
Scannen ich einen Barcode, der horizontal verläuft (genau so wie die rote Linie), wird dieser Barcode erfolgreich erkannt und gescannt:

Wenn ich aber einen Barcode scanne, welcher nicht horizontal, sondern vertikal verläuft, wird der Barcode nicht erkannt und nicht gescannt:

Das ist die komplette Class des Barcode Scanners.
Habt ihr ne Idee wie ich das Problem lösen kann?
Code:
package me.dm7.barcodescanner.zxing.sample;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class Scanner extends AppCompatActivity implements ZXingScannerView.ResultHandler {
private static final String CAMERA_ID = "CAMERA_ID";
private ZXingScannerView mScannerView;
private int mCameraId = -1;
Intent intent;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
setContentView(R.layout.barcode_scanner);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if(state != null) {
mCameraId = state.getInt(CAMERA_ID, -1);
} else {
mCameraId = -1;
}
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.ScannerLayout);
mScannerView = new ZXingScannerView(this);
relativeLayout.addView(mScannerView);
}
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this);
mScannerView.startCamera(mCameraId);
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(CAMERA_ID, mCameraId);
}
@Override
public void handleResult(Result rawResult) {
Intent intent = new Intent(Scanner.this, LoadingData.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera();
}
}