1
私のアプリケーションにAndroidハンドセットで加速度計を使用したいと考えています。 センサーからのデータはGPSポイントとともに保存されるため、GPSポイントが更新されたときにのみ値が必要になります。Androidアクセラレータ:値として常に0を返します
私が添付のコードを使用する場合、値は常にゼロです。 APIレベル8 権限:インターネット、ファイン場所 試験装置:ギャラクシーS(I9000)、Nexus Oneの
任意の提案ですか?私はこの時点で立ち往生しています。ドイツから
敬具、 パスカル
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
public class AccelerometerService extends Activity{
AccelerometerData accelerometerData;
private SensorManager mSensorManager;
private float x,y,z;
private class AccelerometerData implements SensorEventListener{
public void onSensorChanged(SensorEvent event) {
x = event.values[0];
y = event.values[1];
z = event.values[2];
}
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mSensorManager.registerListener(accelerometerData,
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_FASTEST);
}
@Override
protected void onResume() {
super.onResume();
}
@Override
protected void onStop() {
mSensorManager.unregisterListener(accelerometerData);
super.onStop();
}
public String getSensorString()
{
return ("X: " + x+"m/s, Y: "+ y +"m/s, Z: "+ z +"m/s");
}
}
私は私はこのように初期化して、 "AccelerometerData accelerometerData = new AccelerometerData();"を私のOncreateメソッドに追加する必要がありますか?あなたの印象的な高速回答のためのThx、Pascal – Rotesmofa
James onCreate/onStopの代わりにonResume/onPauseにリスナーを登録/登録解除する方が良いかもしれないと思うかもしれません。 – ketorin
thx for助け、私は今働いている:) – Rotesmofa