Android在zxing库中启动flash

Posted

技术标签:

【中文标题】Android在zxing库中启动flash【英文标题】:Android start flash in zxing library 【发布时间】:2013-12-29 07:06:52 【问题描述】:

我使用 zxing 库制作了一个用于条形码扫描的 android 应用程序。当我点击按钮时条形码阅读器启动,这是代码:

//scan
    mScanBtn = (Button)findViewById(R.id.scan);
    mScanBtn.setOnClickListener(new View.OnClickListener() 
        @Override
        public void onClick(View v) 
            try 

                Intent intent = new Intent(
                        "com.google.zxing.client.android.SCAN");
                intent.setPackage("com.app.myapp");
                intent.putExtra("SCAN_MODE", "ONE_D_MODE");
                startActivityForResult(intent, 0);

             catch (Exception e) 

                e.printStackTrace();

            
        
    );

此代码工作正常,条码扫描器启动。但我也想在条形码阅读器启动时启动 LED 手电筒(如果存在)。 zxing库启动时有办法启动手电筒吗?

【问题讨论】:

【参考方案1】:

不,您不能在启动应用程序时强行打开手电筒。这个想法是用户处于控制它是否打开的最佳位置。我不希望应用在错误的情况下打开强光。

【讨论】:

我的意思是“当您从您的应用程序启动 Barcode Scanner 时,开始扫描” 没有闪光灯,您无法读取条形码,因为太暗。你不会是一个工作的应用程序? 如果天黑了,应该开灯来读取条码。如果它不是黑暗的,它不应该打开。你不知道是不是太黑了;用户这样做。所以应用程序让用户打开灯,而不是调用应用程序。不明白你的结束问题。【参考方案2】:
 Camera camera  =Camera.open();
 Camera.Parameters p;
 p = camera.getParameters();
 p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
 camera.setParameters(p);

 CameraConfigurationUtils.setTorch(p,true);

使用这个你可以在 android studio 集成依赖库上的 torch.

【讨论】:

谢谢。 import android.hardware.Camera,它已被弃用。

以上是关于Android在zxing库中启动flash的主要内容,如果未能解决你的问题,请参考以下文章

启动 zxing CaptureActivity 时出现异常

从画廊android中的图像扫描条形码

Android Zxing框架扫描解决扫描框大小,图片压缩问题

Zxing无法扫码128

zxing android 集成在某些设备上崩溃,以下类无法实例化:- com.google.zxing.client.android.ViewfinderView

如何通过zxing-android-embedded在Android中停止连续扫描