BarCodeScannerFragment裁剪矩形不适合图像数据异常

时间:2017-12-19 05:13:22

标签: android

           java.lang.IllegalArgumentException: 
    Crop rectangle does not fit within image data.
      at com.google.zxing.PlanarYUVLuminanceSource.<init>(PlanarYUVLuminanceSource.java:50)
                                                                                           at com.welcu.android.zxingfragmentlib.camera.CameraManager.buildLuminanceSource(CameraManager.java:360)
                                                                                           at com.welcu.android.zxingfragmentlib.DecodeHandler.decode(DecodeHandler.java:77)
com.welcu.android.zxingfragmentlib.DecodeHandler.handleMessage(DecodeHandler.java:56)        at android.os.Handler.dispatchMessage(Handler.java:102)                   at android.os.Looper.loop(Looper.java:148)                                               at com.welcu.android.zxingfragmentlib.DecodeThread.run(DecodeThread.java:101)

这是exception我正在使用BarCodeScannerFragment library来扫描QR code

class ScannerFragment : BarCodeScannerFragment() {
    override fun onCreate(savedInstanceState: Bundle?) {
        AndroidSupportInjection.inject(this)
        super.onCreate(savedInstanceState)
        this.setmCallBack { lastResult ->
            Toast.makeText(activity!!, "Scan: " + lastResult.toString(), Toast.LENGTH_SHORT).show()
        }

    }}

这是我的Fragment代码我不知道为什么会出现此问题以及如何解决此问题。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。 使用zxing-android-embedded(https://github.com/journeyapps/zxing-android-embedded)。

Zxing更高版本3.3.0将此问题带给我的应用程序的某些用户。

降级到3.3.0即可解决。

dependencies {
implementation('com.journeyapps:zxing-android-embedded:3.6.0') 
{ transitive = false }
implementation 'com.google.zxing:core:3.3.0'
}

此版本甚至可以向下兼容API级别14。