2016-10-11 124 views
2

我用結果處理程序實現了QR碼掃描器。它掃描得很好。但是,第一次掃描完成後,相機會卡住。如何實現QR碼掃描碼,以便相機繼續掃描而不會卡住?zxing掃描二維碼後,相機卡住了

我的代碼如下所示:

public class SimpleScannerFragment extends Fragment implements ZXingScannerView.ResultHandler { 


private ZXingScannerView mScannerView; 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View v = inflater.inflate(R.layout.scannerview, null); 
    mScannerView = (ZXingScannerView) v.findViewById(R.id.scanner_view); 
    return v; 
} 

@Override 
public void onResume() { 

    super.onResume(); 
    mScannerView.startCamera(); 
    mScannerView.setResultHandler(this); 

} 


@Override 
public void handleResult(Result rawResult) { 
    ParsedResult parserdResult = ResultParser.parseResult(rawResult); 


    Toast.makeText(getActivity(), "Contents = " + rawResult.getText() + ", Format = " + rawResult.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show(); 
    } 

@Override 
public void onPause() { 
    super.onPause(); 
    mScannerView.stopCamera(); 

    } 
} 
+0

您還沒有表現出任何代碼或任何東西。根據這個描述,沒有人可以說你做錯了什麼。 –

+0

請發佈您的代碼。 –

+0

我用片段來實現結果處理程序。我用onPause()和onResume()來啓動和停止camera.finally靜態添加片段中的活動 –

回答

3

根據手冊(https://github.com/dm77/barcodescanner)剛剛恢復您cammera在處理程序:

@Override 
    public void handleResult(Result rawResult) { 
    ParsedResult parserdResult = ResultParser.parseResult(rawResult); 
    Toast.makeText(getActivity(), "Contents = " + rawResult.getText() + ", Format = " + rawResult.getBarcodeFormat().toString(), Toast.LENGTH_SHORT).show(); 
    mScannerView.resumeCameraPreview(this); 
} 
+0

即使我調用resumeCameraPreview(),攝像機視圖也會卡住。即使我叫'stopCamera()'也沒有任何反應。請幫忙 – viper