It's the device that controls the auto brightness. Usually it does a good job but I have seen devices where the lag is pretty high. It stays over- or under-exposed for seconds. I don't know why, but, it's not something the app controls.
In the Barcode Scanner+ version, it tries to influence this by setting the exposure higher when the LED is off and lower when it's on. I don't think this is quite what you need, as it wouldn't help if the device is consistently not detecting brightness that is too high or too low.
Exposure is not the issue, it's auto-brightness. And setting it in another app has no effect; it's that returning to the app resets the driver and presumably works around the funny state it got into.
On Friday, November 16, 2012 8:31:16 PM UTC, pln wrote:
At my company we've been experimenting with the ZXing barcode (4.1) scanner installed on our fleet of Samsung Android Media Players (mostly 4.0's). It works very well except for one thing - the gain/exposure, scan to scan - is inconsistent. In exactly the same light, on exactly the same barcode, sometimes the barcode image will be totally blown out/overexposed (and thus unscannable) and other times it will be fine. Often when it is overexposed just hitting the back button and restarting the scan will produce a much better gain value.
The user can go to the device's camera and set the exposure value there, but this takes extra time and training and the camera's EV setting doesn't always stay set between reboots.
We do Android programming, among many other things, at my company so we could launch your barcode scanner app from inside some app we write, if that would help. But I didn't see any intent options for controlling the gain here: http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java
Any comments or suggestions would be appreciated. Thanks in advance.