Android光传感器采样频率太低
我目前正在尝试做一个Android演示,以约50Hz的采样率测试光照水平。不过,我只能得到onSensorChanged
回拨2-3次。我的手机是xiaomi mi5s(lineage os 14.1安装),Android 7.1。Android光传感器采样频率太低
public class MainActivity extends Activity implements SensorEventListener { private SensorManager mSensorManager;
private Sensor mLight;
@Override
public final void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
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) {
// The light sensor returns a single value.
// Many sensors return 3 values, one for each axis.
float lux = event.values[0];
Log.i("zz", lux + "");
// Do something with this sensor value.
}
@Override
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mLight, SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
}
回答:
您可以使用SENSOR_DELAY_FASTEST而不是普通的。这将使硬件与硬件提供可靠的读数一样快。但是光传感器完全可能在50赫兹时不工作。它的主要用例并不要求这样做。
以上是 Android光传感器采样频率太低 的全部内容, 来源链接: utcz.com/qa/260642.html