Coder Social home page Coder Social logo

mylhyl / android-zxing Goto Github PK

View Code? Open in Web Editor NEW
573.0 573.0 168.0 14.2 MB

android google zxing 可配置扫描框、线样式 ,生成二维码(文字、联系人)

Home Page: http://blog.csdn.net/hupei/article/details/51859171

Java 100.00%
android-zxing zxing

android-zxing's People

Contributors

mylhyl avatar yysnow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-zxing's Issues

连续扫描,界面闪烁

当设置成连续扫描,调用restartPreviewAfterDelay方法清除残像,但是当时间设置未0的时候,界面就会闪烁
image

背景颜色

生成二维码的时候怎么设置二维码的背景颜色,也就是自定义二维码的前景色和背景色。

把扫描框设置在顶部的问题

我这边有个需求需要把扫描框设置在布局顶部,但是实际效果是顶部空出状态栏的高度,有没有办法把状态栏的那部分高度去掉吗?

颜色设置问题

使用setLaserFrameBoundColor()和setLaserColor() 方法无法正常为扫描四角与扫描线设置颜色。设置之后显示黑色。
mScannerView.setLaserFrameBoundColor(R.color.colorPrimary); mScannerView.setLaserColor(R.color.colorPrimary);

扫描的速度很慢,效率很低

扫描的速度很慢,效率很低,不管是条形码还是二维码,基本早扫描线来回4~5次,才能扫上,是否再优化下,或条码与二维码分开

横屏扫描问题

启动横屏扫描,锁屏解锁后,屏幕黑屏或显示不出来或直接退出到上一个界面

关于摄像头权限开启问题

在金立手机上除了开发者自己申请一次权限外, 打开cramer时候也会申请一次权限,开发者无法监听到, 哪怕第一次允许。 是都可以暴漏个接口监听cramer是否开启成功。

刚一安装就崩溃

07-13 16:29:59.031 390-390/com.mylhyl.zxing.scanner.sample E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mylhyl.zxing.scanner.sample, PID: 390
java.lang.RuntimeException: Unable to instantiate application com.mylhyl.zxing.scanner.sample.APP: java.lang.ClassNotFoundException: Didn't find class "com.mylhyl.zxing.scanner.sample.APP" on path: DexPathList[[zip file "/data/app/com.mylhyl.zxing.scanner.sample-1/base.apk"],nativeLibraryDirectories=[/data/resource/lib, /vendor/lib, /system/lib]]
at android.app.LoadedApk.makeApplication(LoadedApk.java:563)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4532)
at android.app.ActivityThread.access$1500(ActivityThread.java:152)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1365)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5260)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.mylhyl.zxing.scanner.sample.APP" on path: DexPathList[[zip file "/data/app/com.mylhyl.zxing.scanner.sample-1/base.apk"],nativeLibraryDirectories=[/data/resource/lib, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newApplication(Instrumentation.java:980)
at android.app.LoadedApk.makeApplication(LoadedApk.java:558)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4532) 
at android.app.ActivityThread.access$1500(ActivityThread.java:152) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1365) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5260) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:697) 
Suppressed: java.lang.ClassNotFoundException: com.mylhyl.zxing.scanner.sample.APP
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

如何再次扫码

扫码成功后好像不能进行第二次扫码 退出之后再进来才行

打开问题

在我自己的android项目中引用了zxingscanner,但是打开扫描二维码的页面总是打开已安装你这个demo的扫描二维码页面

ArrayIndexOutOfBoundsException and IllegalArgumentException

7.0 分屏下崩溃
ava.lang.ArrayIndexOutOfBoundsException: src.length=3110400 srcPos=-20628 dst.length=829437 dstPos=0 length=933 at java.lang.System.arraycopy(System.java:521) at com.google.zxing.PlanarYUVLuminanceSource.getMatrix(PlanarYUVLuminanceSource.java:101) at com.google.zxing.common.GlobalHistogramBinarizer.getBlackMatrix(GlobalHistogramBinarizer.java:118) 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.mylhyl.zxing.scanner.decode.DecodeHandler.decode(DecodeHandler.java:99) at com.mylhyl.zxing.scanner.decode.DecodeHandler.handleMessage(DecodeHandler.java:62) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at com.mylhyl.zxing.scanner.decode.DecodeThread.run(DecodeThread.java:104)

java.lang.IllegalArgumentException: Crop rectangle does not fit within image data. at com.google.zxing.PlanarYUVLuminanceSource.<init>(PlanarYUVLuminanceSource.java:50) at com.mylhyl.zxing.scanner.camera.CameraManager.buildLuminanceSource(CameraManager.java:376) at com.mylhyl.zxing.scanner.decode.DecodeHandler.decode(DecodeHandler.java:96) at com.mylhyl.zxing.scanner.decode.DecodeHandler.handleMessage(DecodeHandler.java:63) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at com.mylhyl.zxing.scanner.decode.DecodeThread.run(DecodeThread.java:104)

在布局不是全屏情况下扫描框和解码的提取的图片不对应

CameraManager中getFramingRectInPreview方法提取previewframe中扫描范围时,使用的计算方法是否不太准确,转换使用的是screenResolution是屏幕的大小,但实际上给用户看到的渲染范围有可能不是全屏的,因此转换是不是有误差,建议改为使用sufaceview的范围来计算:
Point screenResolution;
if(sufaceRect != null){
screenResolution = new Point(sufaceRect.right-sufaceRect.left,sufaceRect.bottom-sufaceRect.top);
} else {
screenResolution = configManager.getScreenResolution();//屏幕范围来近似摄像头渲染的范围
}

sufaceRect在给摄像头设置holder时记录:
cameraObject.setPreviewDisplay(holder);
sufaceRect = holder.getSurfaceFrame()

是否条形码的返回结果没有进行解码处理?

this method should be public ,not private
private void onPause() {
if(this.mScannerViewHandler != null) {
this.mScannerViewHandler.quitSynchronously();
this.mScannerViewHandler = null;
}

    this.mBeepManager.close();
    this.mCameraManager.closeDriver();
    if(!this.hasSurface) {
        SurfaceHolder surfaceHolder = this.mSurfaceView.getHolder();
        surfaceHolder.removeCallback(this);
    }

    this.mViewfinderView.laserLineBitmapRecycle();
}

setLaserFrameTopMargin后nexus 5x下扫描框和扫描区域不一致

screenshot_20171115-144826

如图,在二维码区域时,才能识别出结果,在扫描框中识别不出,貌似是轴对称关系。
如果不设置LaserFrameTopMargin,扫描框在屏幕正中间时是没问题的。
ps:nexus 5x摄像头的旋转角度是270度

代码如下:

mScanView = findViewById(R.id.scan_view);
mScanView.setLaserFrameTopMargin(50) .setLaserFrameSize(240, 240) .setOnScannerCompletionListener(this);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.