Я использую ZXingScannerView на android для сканирования qr-кода. Это работает нормально, но я хочу кнопку, которая открывает / закрывает предварительный просмотр и запускает / останавливает сканирование. Моя единственная проблема в том, что когда я звоню scannerView.startcamera(camId);
, экран зависает на полсекунды, пока не запустится камера. Это действительно проблема для меня, потому что на экране присутствует непрерывная анимация, которая на короткое время останавливается (зависает) до запуска камеры.
private ZXingScannerView scannerView;
qrScanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick( View view ) {
if ( scannerView != null ) {
scannerView.stopCamera();
scannerView.stopCameraPreview();
scannerView = null;
} else {
scannerView = new ZXingScannerView(MainActivity.this);
(( FrameLayout ) findViewById(R.id.scanner_view_container)).addView(scannerView);
scannerView.setResultHandler(MainActivity.this);
scannerView.setAutoFocus(true);
scannerView.startCamera(camId); // this is the only line that causes the 0.5 sec screen freeze. If I comment this out, there is no freezing (but obviously there is no camera preview)
}
}
}
Как запустить камеру без экрана замораживать? Его можно запустить только в потоке пользовательского интерфейса ...