android - 如何在 Google Play 服务中使用条码检测打开手电筒?

标签 android google-play-services barcode-scanner flashlight google-vision

我正在尝试使用 Google Play 服务重新实现 Redlaser 条形码扫描仪。并面对手电筒的问题。 Android hardware.Camera 对象不能与 gms.vision 中的 CameraSource 共同使用。 有机会使用手电筒和谷歌条码扫描器吗?

最佳答案

不确定我是否完全理解您的要求,但我的方法是使用已经创建的 mCamerSource 对象和那里的 setFlashMode(),这对我有用,因为我使用了一个按钮来切换闪光灯。

在您的 onCreate 中添加这个或在 createCameraSource 方法中,就像在示例中一样 ->

mCameraSource = builder
            .setFlashMode(useFlash ? Camera.Parameters.FLASH_MODE_TORCH : null)
            .build();

然后制作一个切换闪光灯的方法,希望对您有所帮助。

private void ToggleFlash()
{
    fab_flash.startAnimation(spin_it);
    if(currentDrawalbe == FLASH_DEFAULT_STATE)
    {
        fab_flash.setImageResource(FLASH_TOGGLE_STATE);
        currentDrawalbe = FLASH_TOGGLE_STATE;
        mCameraSource.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
    }
    else
    {
        fab_flash.setImageResource(FLASH_DEFAULT_STATE);
        currentDrawalbe = FLASH_DEFAULT_STATE;
        mCameraSource.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
    }
}

currentDrawable 只是闪光灯图标的图像,所以基本上如果图像是打开的闪光灯则执行 else 子句,否则执行 if 子句

关于android - 如何在 Google Play 服务中使用条码检测打开手电筒?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32654087/

相关文章:

java - libGDX:我如何告诉核心游戏 getIconImageUri() 并将其用作我的游戏中的图像 Actor

php - 可以在php和unity中使用的加密

java - 在上传 ANDROID 之前,通过以下代码将图像大小减小到 KB

Android - 如何开始创建启动器应用程序?

java - LibGDX/Google Play 服务错误

android - 将 ZXing 库直接集成到我的 Android 应用程序中

Android - native 崩溃位于/system/lib/libRScpp.so

android - 无法在 genymotion 中刷入 open_gapps-arm-6.0-stock-20160220 文件?

java - 当黑莓操作系统显示相机权限警报并且用户单击调用结束(红色)按钮时如何正确退出黑莓应用程序

java - ZXing 如何使用手电筒启动扫描仪?