Я использую линейный акселерометр для обнаружения встряхивания, я использую этот код:стабильность линейного акселерометра? Android
float x = event.values[0] ;
float y = event.values[1] ;
float z = event.values[2] ;
float acceleration = (float) Math.sqrt(x * x + y * y + z * z);
if(acceleration > 5)
{
Toast.makeText(this,"shaking",Toast.Length_long).show();
}
проблема в том, когда я встряхнуть устройство, ускорение становится 10, например, но когда я прекратить встряхивание устройства на ускорение не возвращается к нулю сразу, это занимает несколько секунд!
- shaking the device - no shaking -
acceleration = 20 19 22 23 24 20 24 25 30 - 19 18 17 15 13 0000000000 -
Почему это происходит?