2017-01-28 6 views
2

Ich versuche eine App zu erstellen, die einen QRCode von einer IDCard liest, die jeder in meinem Unternehmen verwenden wird.ZXing Autostart mit Frontkamera

Ich möchte die Frontkamera als Standard verwenden, wenn ich die App ausführen. Ich habe es mit der Rückfahrkamera geschafft, aber im Idealfall möchte ich keinen Schalter zum Wechseln benutzen.

MainActivity:

public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler { 
    private static final int REQUEST_CAMERA = 1; 
    private ZXingScannerView mScannerView; 

    Passageiros mPassageiro; // 

    Collection<Passageiros> listaPassageiros; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     mScannerView = new ZXingScannerView(this){ 

      @Override 
      protected IViewFinder createViewFinderView(Context context) { 
       return new CustomZXingScannerView(context); 
      } 

     }; 
     List<BarcodeFormat> formats = new ArrayList<>(); 

     formats.add(BarcodeFormat.QR_CODE); 

     setContentView(mScannerView); 

     int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
     if (currentapiVersion >= android.os.Build.VERSION_CODES.M) { 
      if (checkPermission()) { 
       Toast.makeText(getApplicationContext(), "Permission already granted", Toast.LENGTH_LONG).show(); 

      } else { 
       requestPermission(); 
      } 

     } 
    } 

... 

} 

Wie kann ich das tun?

+0

@Daniel Kaparunakis Thx für die Überarbeitung. –

Antwort

1

Mit Blick auf die Quellen der ZXing Bibliothek

ZXingCameraView BarcodeScannerView erweitert, die einen privaten CameraWrapper hat, die Sie mit setupLayout Verfahren einstellen. Mit CameraWrapper können Sie com.android.Camera initialisieren. How do I open the "front camera" on the Android platform?

Edit:: Es gibt auf der Rückseite des Gerätes ist auch eine ZXing CameraUtils class Auswahl Kamera Eigentlich

Und wie aus der zur Verfügung stehenden Kameras notwendig zu wählen ist in dieser Frage gezeigt. Ändern Sie einfach die ID der Frontkamera und übergeben Sie diese ID an startCamera (frontCameraId) auf Ihrer ZXingCameraView.

+0

Es tut mir leid, Mann, aber ich lerne immer noch. Ich wette, du warst klar, aber kannst du mir etwas mehr erklären? –

+0

Bekam es. Ich putted mScannerView.startCamera (1); auf meinem onResume –

+0

Gut, dass es funktioniert. Akzeptiere eine Antwort dann;) – shtolik