EDIT: So, for Android 4.0 and above, there is a setAutoExposureLock(boolean)
that should work for what you need. It doesn't let you set the exposure yourself, but after the exposure is determined, you can lock it into its current exposure. You need to guard it with a check for isAutoExposureLockSupported()
, though, to make sure the device supports that feature.
To get the same actual exposure every time, you'd need to be able to set a fixed ISO, shutter speed, and aperture. As you said, the exposure compensation only offsets from the metered exposure, which the camera determines automatically. To my knowledge, there's no built in way to set the ISO, the shutter speed, or the aperture values in Android.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…