如何检查光量? [复制]
Posted
技术标签:
【中文标题】如何检查光量? [复制]【英文标题】:How to check amount of light? [duplicate] 【发布时间】:2016-10-29 13:11:28 【问题描述】:我与Camera2API
合作,如果外面光线不足,我需要禁用拍照功能...
我考虑过,当用户使用标准相机时,他设置了闪光灯(自动模式)。
如果我理解正确的话,相机可以使用某种传感器来检测光量,如果光量不足,闪光灯就可以工作。
如何连接这个传感器?
【问题讨论】:
在看:developer.android.com/guide/topics/sensors/…,你要找的是 TYPE_LIIGHT 吗? 【参考方案1】:您可以使用类似于此处列出的代码:
https://developer.android.com/guide/topics/sensors/sensors_environment.html
像这样修改它以使用光传感器:
public class SensorActivity extends Activity implements SensorEventListener
private SensorManager mSensorManager;
private Sensor mLight;
@Override
public final void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Get an instance of the sensor service, and use that to get an instance of
// a particular sensor.
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mLight= mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
@Override
public final void onAccuracyChanged(Sensor sensor, int accuracy)
// Do something here if sensor accuracy changes.
@Override
public final void onSensorChanged(SensorEvent event)
float luminosity = event.values[0];
// Do something with this sensor data.
@Override
protected void onResume()
// Register a listener for the sensor.
super.onResume();
mSensorManager.registerListener(this, mLight, SensorManager.SENSOR_DELAY_NORMAL);
@Override
protected void onPause()
// Be sure to unregister the sensor when the activity pauses.
super.onPause();
mSensorManager.unregisterListener(this);
【讨论】:
以上是关于如何检查光量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章