我一直在尝试实现一项功能,以根据 Android Galaxy S5 手机的气压计传感器获得正确的高度。唯一的问题是,我认为它不准确。基于http://www.whatismyelevation.com,它显示我的海拔高度约为 114 米。但是,在我的手机上,根据气压计传感器显示它是 210 米。然而,我在一座高楼里,但我不认为它有 100 米高。
这是我的简单代码:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.configure_settings);
context = getApplicationContext();
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
sensors = mSensorManager.getSensorList(Sensor.TYPE_PRESSURE);
if (sensors.size() > 0)
{
sensor = sensors.get(0);
mSensorManager.registerListener(this, sensor,
SensorManager.SENSOR_DELAY_NORMAL);
}
}
@Override
public void onSensorChanged(SensorEvent event)
{
float pressure = event.values[0];
altitude = String.valueOf(SensorManager.getAltitude(
SensorManager.PRESSURE_STANDARD_ATMOSPHERE, pressure));
}
谢谢!