Android条形码扫描器仍然使用多个ZXingScannerView映像

时间:2016-11-08 13:02:44

标签: animation fragment barcode-scanner

在我的应用中,我有一个使用dm77/barcodescanner的片段。

我正在开设商店应用,例如:您扫描商品 - >产品页面 - >继续购物 - >打开另一个扫描仪会话 - >等

现在,正如您所看到的,因为clinet想要维护后端堆栈,该片段的多个位置可以打开(但不能同时)。

带扫描仪的第一个片段运行良好,其他片段有静止图像,即使我打电话

scannerView.stopCamera();
scannerView = null;

留下第一个片段。

注意:如果我们使用 replace 代替 add ,则其他片段效果很好。但这会在片段的动画上产生问题。

1 个答案:

答案 0 :(得分:2)

经过激烈的调试,我找到了如何让所有工作:

  • 当片段可见/正在使用时,创建以编程方式添加到您的布局ZXingScannerView,启动相机并预览;
  • 当片段不可见/使用时,从布局中删除ZXingScannerView;
  • 在某些Android版本(如5.01)上,请注意不要多次调用startCamera,否则在重新启动应用程序之前,您将无法再打开它。这里的错误是由死线程异常引起的。

希望足够明确和乐于助人。