gpt4 book ai didi

android - 如何在 fragment 中有效地重启相机 - Barcode Scanner

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:03:08 25 4
gpt4 key购买 nike

我的应用程序中有两个 fragment ,我正在尝试在其中一个 fragment 中使用 ZXingScanner 库来实现条码扫描器。实现工作正常。我的问题基本上与糟糕的设计有关。

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

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();
}

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

最佳答案

好吧,我终于找到了解决方案。我在相机 fragment 中重写了 setMenuVisibility 方法。如果 fragment 可见,调用 restartCamera() 方法,否则停止相机。

@Override
public 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 - 如何在 fragment 中有效地重启相机 - Barcode Scanner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30181621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com