[英]ZXing QR code issue during Tab Switching in Android
我對 Tabs 中的 ZXing QR 碼有疑問。 我有 3 個片段,其中一個實現了 ZXing QR,我正在替換選項卡切換上的片段。我的片段類中有以下代碼。 主要問題是當我順利切換標簽時一切正常。 但是當我一次又一次快速切換選項卡時,CameraView 變黑,應用程序的每個線程和 AsychTask 都停止工作。這個問題正在破壞我的整個應用程序。
這是 Fragment 的 OnResume 方法的代碼。 ScanningThread 是一個用 Thread 擴展的類,scanningView 是一個自定義的 CameraView 類。
ScanningThread scanningThread = new ScanningThread();
scanningThread.setScanListener(scanListener);
scannerView.onResume();
scannerView.setPreviewCallback(scanningThread);
scanningThread.start();
這是 onPause 方法的代碼。
this.scannerView.onPause();
this.scanningThread.stopScanning();
這是我的 CameraView 類的 setPreviewCallBack 方法:
public void setPreviewCallback(final @NonNull PreviewCallback previewCallback) {
enqueueTask(new PostInitializationTask<Void>() {
@Override
protected void onPostMain(Void avoid) {
if (camera.isPresent()) {
camera.get().setPreviewCallback(new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
if (!CameraView.this.camera.isPresent()) {
return;
}
final int rotation = getCameraPictureOrientation();
final Size previewSize = camera.getParameters().getPreviewSize();
if (data != null) {
previewCallback.onPreviewFrame(new PreviewFrame(data, previewSize.width, previewSize.height, rotation));
}
}
});
}
}
我通過在線程處理時禁用選項卡解決了類似的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.