解決二維碼 Both dimensions must be greater than 0
處理二維碼掃描遇到報錯:
java.lang.IllegalArgumentException: Both dimensions must be greater than 0
at com.google.zxing.common.BitMatrix.<init>(BitMatrix.java:50)
at com.google.zxing.common.GlobalHistogramBinarizer.getBlackMatrix(GlobalHistogramBinarizer.java:91)
at com.google.zxing.common.HybridBinarizer.getBlackMatrix(HybridBinarizer.java:86)
at com.google.zxing.BinaryBitmap.getBlackMatrix(BinaryBitmap.java:85)
at com.google.zxing.qrcode.QRCodeReader.decode(QRCodeReader.java:77)
at com.google.zxing.MultiFormatReader.decodeInternal(MultiFormatReader.java:171)
at com.google.zxing.MultiFormatReader.decodeWithState(MultiFormatReader.java:85)
at com.uuzuche.lib_zxing.decoding.DecodeHandler.decode(DecodeHandler.java:86)
at com.uuzuche.lib_zxing.decoding.DecodeHandler.handleMessage(DecodeHandler.java:55)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at com.uuzuche.lib_zxing.decoding.DecodeThread.run(DecodeThread.java:83)
解決方案:
you have use yipianfengye/android-zxingLibrary
there is a method "initDisplayOpinion()" in his ZApplication
what you need to do is adding "extends ZApplication" in your own Application
即在manifest清單檔案中修改:
<application
android:name="com.uuzuche.lib_zxing.MyApplication"
……
>
</application>