我正在尝试使用 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/