主页按钮将焦点从应用程序中移开后,AIR的Zbar条形码本机扩展将无法启动

时间:2014-01-14 17:33:06

标签: android air android-activity flex-mobile air-native-extension

按照qr-zbar的简单说明,我已经成功实现了原生条码扫描器!到目前为止效果很好。

qr-zbar-ane Github:https://github.com/saumitrabhave/qr-zbar-ane

不幸的是,在主动扫描时,如果按下主页按钮或其他活动接管,则在返回原始应用程序时,活动会被卡住,并且在此之后不会初始化条形码扫描器。

我尝试了多种方法在空中应用程序中重新加载和切换视图,以调用qr-zbar的新实例。

复位:

scanner.removeEventListener(ScannerEvent.SCAN, onScan);
scanner.stop();
scanner.reset();
scanner = null;

再次创建:

scanner = new Scanner();
scanner.setTargetArea(targetArea,"0xF53100","0x4BFF33");
scanner.setConfig(Symbology.ALL,Config.ENABLE,1);
scanner.addEventListener(ScannerEvent.SCAN, onScan,false, 0, true);
scanner.launch(true, "back");                   
loadGroup.visible = false;
trace("Launched: " + ServerRequest.scanner.launched); 

以下是提交说明中描述的问题!确切的问题。

https://github.com/saumitrabhave/qr-zbar-ane/blob/master/NativeAndroid/src/com/sbhave/nativeExtension/ui/CameraActivity.java

更新:我发现这是对Android的更新更新的情况。下载了针对Galaxy S4和Nexus 5的键盘记录器,我无法看到主页按钮按下的KeyEvent。

1 个答案:

答案 0 :(得分:0)

首先为这么长的响应时间道歉。这是一个逐点更新,它也将回答你的问题(希望如此)。

  1. 您在存储库中看到代码但仍未解决问题的原因,因为我没有更新包含此修复程序的.ane。因此,如果您希望使用当前API运行它,您可能需要签出项目(使用旧API在last commit处)并重新编译/重新生成最终版本。我知道,这听起来并不有趣,请阅读下一个好消息(也许)。

  2. 正如您可能已经看到的那样,旧模型不够灵活,因为它生成了自己的Activity,Actionscript开发人员在扫描模式下无法控制UI。因此,我重新设计了整个API,其中Scanner的行为类似于StageWebView(即放置在舞台顶部的给定位置和给定的大小,以便您可以拥有自己的UI,但有限制,你可以不画在扫描仪上)。

    2.1它还消除了SingleScan或MultiScan的概念,并使开发人员能够灵活地使用诸如pause(),resume(),附加和分离扫描仪等API实现自己的扫描性质,同时进行相机预览等。

    2.2它还具有其他功能,例如从给定位图扫描而不是使用Live Camera Feed。

  3. 上述任何选项都可以解决您的问题, 我想在实施阶段获得建议/反馈/错误,我可以快速解决您在库中可能遇到的任何有效用例。