【问题标题】:Barcode scanning broken条码扫描坏了
【发布时间】:2016-08-31 04:45:31
【问题描述】:

自从 Codename one 的最近更新以来,任何条码扫描似乎都被破坏了。
在 android 上,相机出现并扫描代码,但当它返回应用程序时没有任何反应(即没有触发 3 个回调函数)。
在 iOS 上,相机窗口甚至不会出现。
我正在使用这个库,因为它不依赖于已安装的扫描应用程序:
https://github.com/littlemonkeyltd/QRScanner

我以为内置的扫描功能可能已被删除并传递给这个库,所以我也尝试包含它:
https://github.com/codenameone/cn1-codescan

但它仍然无法在 Android 上运行。 IOS 拒绝使用包含的 cn1-codescan 库进行构建。

很确定这一切都在上周或前一周有效。

我的代码如下所示:

Log.p("Scanning QR code");
    QRScanner.scanQRCode(new ScanResult() {
        public void scanCompleted(String contents, String formatName, byte[] rawBytes) {
            Log.p("QR result:"+contents);
            QRResult(contents, formatName, rawBytes);
        }
        public void scanCanceled() {
            Log.p("scan canceled");
        }
        public void scanError(int errorCode, String message) {
            Log.p("error during scan: " + message);
            scanFailed();
        }
    });

编辑:
以下是添加库时添加到 codenameone_setting.properties 的 android 构建提示: codename1.arg.android.xapplication=<activity android\:name\="com.dm.zbar.android.scanner.ZBarScannerActivity" android\:screenOrientation\="landscape" android\:label\="@string/app_name" />

codename1.arg.android.xpermissions=<uses-permission android\:name\="android.permission.CAMERA"/><uses-feature android\:name\="android.hardware.camera" android\:required\="false"/>

codename1.arg.android.proguardKeep=\ -keep class net.sourceforge.zbar.** {*;}

【问题讨论】:

  • 据我所知,周末更新应该修复了该回归问题,我会看看。仅供参考,只有库应该工作,内置的条形码扫描不应该工作。
  • 最新的 cn1-codescan.cn1lib 在 iOS 上导致构建错误
  • 截至今天仍未在 Android 上运行。我尝试在 3.4 版的基础上进行构建以查看它是否正常工作并收到此错误:“专业用户不再支持该版本!专业用户支持的最旧版本是 3.4”
  • 3.4 的问题似乎是一个错误,我们会修复它。

标签: android ios qr-code codenameone barcode-scanner


【解决方案1】:

如果您针对“最新”的条码扫描进行构建,则应该可以。我假设您是针对 3.5 而不是最新版本构建的。条码扫描的回归可能进入 3.5,我们验证了条码/二维码扫描适用于构建服务器上的最新版本。

【讨论】:

  • 我只是使用最新版本再次构建,虽然这解决了我的 Facebook 登录问题,但仍未触发 QR 回调。
  • 在包含最新版本的 cn1-codescan.cn1lib 时,iOS 上仍然会出现构建错误
  • 如果您使用的是 littlemonkey QR 扫描仪,请删除该库并从扩展菜单重新安装它,我们将其更新为与我们的库而不是系统 QR 扫描仪一起使用。
  • 看起来其中一个构建提示未正确包含在库的附加属性中。我现在已经修好了图书馆。它应该很快就会提供 cn1 扩展。同时,您可以手动将所需的构建提示添加到您的项目中。 android.xapplication=<activity android:name="com.dm.zbar.android.scanner.ZBarScannerActivity" android:screenOrientation="landscape" android:label="@string/app_name" />
  • 仅供参考,这应该在当前版本中修复
猜你喜欢
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-01
相关资源
最近更新 更多