0
私は震え電話の機能に取り組んでいました。私は同じ強さで電話を振り回し、私は別のデバイス上でプロジェクトを正常に実行できるように同じフィードバックを得る。しかし今、私は、異なるデバイスが全く異なる値を持つことを発見しました。誰にもアドバイスはありますか?あなたが車輪の再発明したいのはなぜ加速度計の値の見方は?
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER) {
return;
}
float[] values = event.values;
float x = values[0]; //X value
float y = values[1]; //Y value
float z = values[2]; //Z value
if (isShaking(x, sMinVale, event) || isShaking(y, sMinVale, event) || isShaking(z, sMinVale, event)) {
vibrator.vibrate(200);
ToastUtils.showToast(mContext, "检测到手机晃动了");
}
private boolean isShaking(float x, int minValue, SensorEvent event) {
return Math.abs(x) > event.sensor.getMaximumRange();
}
ええ、それは動作しますが、ハッピー3Q –
を支援するために使用する方法の例があり、ここで、このLibrary
をチェックアウトして:) – Tony