【问题标题】:ZXing auto start with front cameraZXing前置摄像头自动启动
【发布时间】:2017-01-29 02:59:31
【问题描述】:

我正在尝试构建一个从 IDCard 读取 QRCode 的应用程序,我公司的每个人都会使用它。

我想在运行应用程序时默认使用前置摄像头。我设法用后置摄像头做到了,但理想情况下我不想用按钮来切换。

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();
            }

        }
    }

...

}

我该怎么做?

【问题讨论】:

  • @Daniel Kaparunakis 感谢修订。

标签: android android-camera qr-code zxing


【解决方案1】:

看ZXing库的来源

ZXingCameraView 扩展了BarcodeScannerView,它有一个私有的CameraWrapper,你可以用setupLayout 方法设置它。 CameraWrapper 允许您初始化 com.android.Camera。

该问题显示了如何从可用相机中选择必要的:How do I open the "front camera" on the Android platform?

编辑:实际上在设备的背面甚至还有一个ZXing CameraUtils class 选择摄像头。只需将其更改为返回前置摄像头的 id 并将该 id 传递给您的 ZXingCameraView 上的 startCamera(frontCameraId)。

【讨论】:

  • 对不起,我还在学习。我打赌你说清楚了,但你能再解释一下吗?
  • 知道了。我放了 mScannerView.startCamera(1);在我的简历上
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
  • 2019-02-08
  • 2016-01-19
  • 1970-01-01
  • 2012-03-29
  • 1970-01-01
相关资源
最近更新 更多