-2
私は何度も何度も試みていますが、すべてが無駄です。加速度計の値をしばらく保存してから登録を解除する方法
私は動作中の加速度計を作成しました。私は加速度計の値をいつか保存してから登録を解除したいと思います。
私はpendingintentを使用して、再度呼び出すようにしました。
私はその値を少なくとも10秒間保存してから登録解除する方法を要求します。
フォローはJavaです。
public class MyService extends Service implements LocationListener
,SensorEventListener {
SensorManager sensor;
Sensor accelerometer;
// private FileWriter writer;
StringBuilder sr;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
sensor = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerometer = sensor.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensor.registerListener(
this,accelerometer,SensorManager.SENSOR_DELAY_NORMAL);
return START_STICKY;
}
@Override
public void onSensorChanged(SensorEvent event) {
synchronized (this) {
try {
float x = event.values[0];
float y = event.values[1];
double z = event.values[2] - 9.8;
sr.append("" + x).toString();
Toast.makeText(getBaseContext(), sr, Toast.LENGTH_LONG).show();
wait(10000);
} catch (Exception e) {
//sensor.unregisterListener(this);
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
私は同期されていますが、動作しません。 一度ご利用ください。 これで私の最後の年のプロジェクトが完了したらこれで解決します。
と私は( – wiki
公共の実行を入れたい場合はrun()メソッドの内部で、それは一例values.forオットとcampreれる値で値をcampre場合){event.values [0]; event.values [1]}などは、このキャンプの10秒後に表示されます。 – wiki
繰り返し操作をしたいのですか、わずか10秒間または指定した時間だけプロセスを実行しますか? –