首页 > 解决方案 > 扫描后无法从 ZxingScannerView 获取条码图像

问题描述

这是我的 app/build.gradle 文件

dependencies{
........
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
}

在我的 MainActivity 我已经实现了接口 ZxingScannerView.ResultHandler

public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
.....
.....
@Override
public void handleResult(Result result) {
    String EncodedData = result.getText;
    String BarCodeFormat = result.getBarcodeFormat().toString();
    Byte[] byteArray = result.getRawBytes();
    Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
    imageView.setImageBitmap(bitmap);

}
}

BarCodeFormat 和 EncodedData 显示正确。问题是位图总是空的,所以ImageView设置为空位图什么都没有显示,我哪里出错了?

标签: androidarrayszxingandroid-bitmap

解决方案


检查您的 lib 版本是否为 v3.0.3 或更高版本,然后试试这个

IntentIntegrator integrator = new IntentIntegrator(this);
integrator.setBarcodeImageEnabled(true);
integrator.initiateScan();



@override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode,resultCode, data);
result.getBitmap()
}

推荐阅读