android – 如何在片段中有效地重启相机 – 条码扫描器

android – 如何在片段中有效地重启相机 – 条码扫描器,第1张

概述我的应用程序中有两个片段,我正在尝试在其中一个中使用ZXingScanner库实现条形码扫描程序.实施工作正常.我的问题基本上与糟糕的设计有关. 当用户扫描有效代码时,会出现一个对话框,提示代码有效.但当我关闭对话框(按OK)时,条形码扫描仪停止.为了解决这个问题,我有以下几点: buttonConfirm.setOnClickListener(new View.OnClickListener() 我的应用程序中有两个片段,我正在尝试在其中一个中使用ZXingScanner库实现条形码扫描程序.实施工作正常.我的问题基本上与糟糕的设计有关.

当用户扫描有效代码时,会出现一个对话框,提示代码有效.但当我关闭对话框(按OK)时,条形码扫描仪停止.为了解决这个问题,我有以下几点:

buttonConfirm.setonClickListener(new VIEw.OnClickListener() {                @OverrIDe                public voID onClick(VIEw vIEw) {                    popupVIEw.dismiss();                    restartCamera();                }            });public voID restartCamera(){    mScannerVIEw.stopCamera(); //mScannerVIEw = new ZXingScannerVIEw(getActivity());    mScannerVIEw.startCamera();}

这种方法的问题在于,当我切换片段时,相机仍在后面运行.当我切换到第一个片段然后将其重新打开并解决此问题时,如何停止相机.
(我使用VIEwPager来实现我的片段)

解决方法 好的,我终于找到了解决方案.我在我的相机片段中覆盖了我的setMenuVisibility方法.如果片段可见,请调用restartCamera()方法,否则停止摄像头.

@OverrIDepublic voID setMenuVisibility(final boolean visible){    if (visible){        if (mScannerVIEw != null) {            Log.v("FragmentQR","Visible");            restartCamera();        }    }    else {        if (mScannerVIEw != null){            mScannerVIEw.stopCamera();            Log.v("FragmentQR","InVisible");        }    }
总结

以上是内存溢出为你收集整理的android – 如何在片段中有效地重启相机 – 条码扫描器全部内容,希望文章能够帮你解决android – 如何在片段中有效地重启相机 – 条码扫描器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125473.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存