我正在使用相机扫描android中的条形码。但是,如果在扫描条形码时有暗区,则需要自动打开闪光灯,并在读取条形码后将其关闭。我希望它与Android默认相机应用程序一样。
为此我还尝试使用Light传感器,但它不适合我的应用程序。
答案 0 :(得分:1)
您可以使用Camera.Parameters类的FLASH_MODE_AUTO
你可以做点什么Camera cam = Camera.open();
Parameters p = cam.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_AUTO);
cam.setParameters(p);
cam.startPreview();
还要确保手机具有闪光灯功能
您可以查看
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
并且不要忘记添加权限
android.permission.FLASHLIGHT
答案 1 :(得分:0)
您无法在不使用LightSensor的情况下检测环境中的任何黑暗或光线,但如果您仍想检测,则可以找到捕获的图像或预览框架的像素强度。这个链接肯定可以帮助您做到这一点.. [How to detect average pixel intensity from live camera preview?