Simon-Leeeeeeeee / XCodeScanner

A new frame for decode QR code and bar code on Android. It's faster, simpler and more accurate.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RequestCode不能为负值,也不能大于16位bit值65536

BrightVan opened this issue · comments

MainActivity中:

 @Override
    public void onClick(View v) {
        int permissionState = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA);
        if (permissionState == PackageManager.PERMISSION_GRANTED) {
            startScan(v.getId());
        } else {
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, v.getId());
        }
    }

不能用v.getId()作为requestCode,会直接崩溃。
不过你这个扫起来确实很快。这类项目github上有不少,但没见过一个好用的(因为很多改别人的),或多或少都有下面几个问题:
1、预览变形,这个也要看机型,但不知有没有可以兼容所有机型的方法。
2、扫码慢,复杂一点的就扫不出来
3、还是兼容性,在有些机型上会崩溃,但不可能测试到每个机型的,所以写这个需要经验吧,不知你这个兼容性如何,能否用于生产环境。

已经发现了这个BUG,多谢指正。demo中已修复,github会在积累较多改进后统一提交更新。
第一点,目前看来预览是不会变形的,不过也不绝对保证会存在一些奇葩机型。
第二点,扫码慢的问题,我认为应该从两个方面去看。一是zbar的算法,这个我没有仔细研究,暂时无能为力。二是相机回调给zbar的帧率以及图像格式和大小,这个我个人认为XCodeScanner还是做得不错的。
第三点,目前看来兼容性存在一定问题,根据反馈在小米和魅族的低端机型上存在一些问题,我会在长期跟进并解决兼容性的问题。欢迎持续关注~

RequestCode问题已修复,v1.1.5