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));
}
ありがとう!