내가 코드 아래 이것에 의해 올바른 전화 흔들림을 감지하기 위해 노력하고있어 흔들 감지,하지만 난 RIGHT
을 얻거나 RIGHT
및 LEFT
모두를 얻을 왼쪽으로 전화를 흔들 때 자주 예를 들어, 제대로 작동하지의 :안드로이드는 올바른 전화
@Override
public void onSensorChanged(int sensor, float[] values) {
if (sensor == SensorManager.SENSOR_ACCELEROMETER) {
long curTime = System.currentTimeMillis();
// only allow one update every 100ms.
if ((curTime - lastUpdate) > 200) {
long diffTime = (curTime - lastUpdate);
lastUpdate = curTime;
x = values[SensorManager.DATA_X];
y = values[SensorManager.DATA_Y];
z = values[SensorManager.DATA_Z];
if (Round(x, 4) > 10.0000) {
Toast.makeText(this, "Right shake detected", Toast.LENGTH_SHORT).show();
} else if (Round(x, 4) < -10.0000) {
Toast.makeText(this, "Left shake detected", Toast.LENGTH_SHORT).show();
}
last_x = x;
last_y = y;
last_z = z;
}
}
}
POST 업데이트 :
if (Utils.Round(x, 4) > 8.0000) {
//left
} else if (Utils.Round(x, 4) < -8.0000) {
//right
} else if (z > 9 && z < 10)
//down
else if (z > -10 && z < -9)
//up
확인, 코드를 변경하고 테스트 해 보겠습니다. –
대단히 죄송합니다. 점점 더 많은 코드를 변경 한 후에, 코드를 수정할 수 있습니까? 게시물을 업데이트했습니다, 감사합니다. –