2017-01-02 9 views
2

これに対する答えが見つかりませんでした。 私は、AccelerometerとGyroscopeの値を2つの別々のアクティビティでリアルタイムにプロットする必要があるアプリケーションに取り組んでいます。加速度計はうまく動作しますが、ランダムな時間(約1〜10秒の範囲)の後にジャイロスコープの動作で値が停止するので、プロットも停止します。 これはsensorChangedコードです。一定時間が経過した後、活動がジャイロスコープセンサー値の受信を停止します

public SensorEventListener gyroListener = new SensorEventListener() { 
    public void onAccuracyChanged(Sensor sensor, int acc) { } 

    public void onSensorChanged(SensorEvent event) { 
     float x = event.values[0]; 
     float y = event.values[1]; 
     float z = event.values[2]; 
     seriesx.appendData(new DataPoint(Lastx++,x),true,50); 
     seriesy.appendData(new DataPoint(Lastx++,y),true,50); 
     } 
}; 

EDIT:登録とセンサーを未登録:

public void onResume() { 
    super.onResume(); 
    sensorManager.registerListener(gyroListener, sensor, 
      SensorManager.SENSOR_DELAY_NORMAL); 
} 

public void onStop() { 
    super.onStop(); 
    sensorManager.unregisterListener(gyroListener); 
} 
+0

あなたはセンサーリスナーの登録と登録解除の場所を投稿できます。上記の情報では問題を予測するには不十分です。 – Nas

+0

答えを編集しました。 – DivisionSi

+0

あなたはsensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE)のようなジープスコープ用のセンサーマネージャーを設定しました。 (event.sensor.getType()== Sensor.TYPE_GYROSCOPE){}これはあなたのpblmを整理するのに役立ちます。 – Nas

答えて

2

問題は、私が上でアプリケーションを実行していたスマートウォッチにジャイロセンサを用いた:私は、テストモト360 Huawei Watchのアプリで完璧に機能しました。

関連する問題