2010-12-30 6 views
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"); 
    } 
} 

答えて

2

あなたが任意の時点でaccelerometerDataに値を割り当てますか?私はそれがonCreate方法で割り当てられることを期待していただろう。

あなたはまた、画面の向きを占め、(私はフィルタリングが絶対に必要であるかどうかわからないんだけど、それはAccelerometer Play SDK sampleで年代に来る以外加速度センサーイベントをフィルタリングする必要があるかもしれません。

+0

私は私はこのように初期化して、 "AccelerometerData accelerometerData = new AccelerometerData();"を私のOncreateメソッドに追加する必要がありますか?あなたの印象的な高速回答のためのThx、Pascal – Rotesmofa

+1

James onCreate/onStopの代わりにonResume/onPauseにリスナーを登録/登録解除する方が良いかもしれないと思うかもしれません。 – ketorin

+0

thx for助け、私は今働いている:) – Rotesmofa

関連する問題