Я собираюсь использовать Sensor.TYPE_ORIENTATION, и, следовательно, шаг / крен. Тем не менее, он просто отображается в целых числах (например, -90,0, -98,0 ...), даже если он указан в 1 десятичном виде (.0).
Значения округлены или низкая точность?
Этот тест не сделал меня более оптимистичным:
if (angle < -89.1 && angle > -89.9) {
sound.start();
}
Edit:
В 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));