我将使用Sensor.TYPE_ORIENTATION,从而使用音高/滚动。但是,它只显示整数(例如-90.0,-98.0 ......),即使它以1十进制(.0)给出。
值是舍入的,还是精度低?
这项测试并没有让我更乐观:
if (angle < -89.1 && angle > -89.9) {
sound.start();
}
修改
在OnCreate中:
SensorManager sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor s = sm.getSensorList(Sensor.TYPE_ORIENTATION).get(0);
sm.registerListener(this, s, SensorManager.SENSOR_DELAY_NORMAL);
在OnSensorChanged:
angle = event.values[1];
textToDisplay.setText(Float.toString(angle));