¿Cómo detectar el evento shake con android cordova?

Estoy tratando de detectar agitación evento utilizando Cordova 2.2.0 para dispositivos Android. He encontrado alguna pregunta relacionada con este tema, pero t en código nativo, por ejemplo, esta pregunta y esta pregunta .

¿Alguien sabe cómo detectar este evento usando phonegap Córdoba? O debería escribir un complemento?

3 Solutions collect form web for “¿Cómo detectar el evento shake con android cordova?”

Puedes probar shake.js . He estado buscando en él, pero no lo ha implementado. Parece prometedor.

Utilice el acelerómetro para almacenar los valores anteriores (x, yyz). Si se definen los umbrales (x, y, z), se puede detectar el temblor si la diferencia entre los valores previosValues ​​y la real una vez (event.value [i] donde i = x, y ans z) es superior a los umbrales.

También puede utilizar la magnitud de los valores de aceleración (Acc = sqrt (x * x + y * y + z * z)) o la marca de tiempo para obtener mejores resultados.

Cordova ofrece el complemento device-motion, que (sorprendentemente) expone un objeto navigator.accelerometer , en lugar de alinearse con el estándar de orientación / devicemotion del dispositivo W3C publicado desde 2011.

Cuando el dispositivo queda plano sobre una superficie, la aceleración (x, y, z) será (0, 0, 9.81). La idea básica para detectar una sacudida es observar la aceleración con una frecuencia dada, calcular el delta de la muestra anterior y decidir si es mayor que un umbral.

 navigator.accelerometer.watchAcceleration(onSuccess, onError, { frequency: 300 }); // Assess the current acceleration parameters to determine a shake function onSuccess(acceleration) { var accelerationChange = {}; if (previousAcceleration.x !== null) { accelerationChange.x = Math.abs(previousAcceleration.x - acceleration.x); accelerationChange.y = Math.abs(previousAcceleration.y - acceleration.y); accelerationChange.z = Math.abs(previousAcceleration.z - acceleration.z); } previousAcceleration = { x: acceleration.x, y: acceleration.y, z: acceleration.z }; if (accelerationChange.x + accelerationChange.y + accelerationChange.z > sensitivity) { // Shake detected, invoke callback } } 
  • Cómo detectar el contacto del usuario con el espacio telefónico usando JS
  • Cómo mantener la sesión en una aplicación Android de teléfono
  • Cordova cambio de pantalla cambiar color spinner en android
  • ¿Cómo seleccionar (elegir) varias imágenes utilizando la API de la cámara al mismo tiempo en el teléfono?
  • PhoneGap Introducción a Android "Falta uno de los siguientes"
  • Cordova + ionic + crosswalk = net :: ERR_INSECURE_RESPONSE
  • Almacenamiento de bases de datos SQLite con Android y Phonegap
  • Ajax no funciona - Jquery Phonegap Android
  • Instalando PhoneGap, ejecutando el comando de error 'ant'
  • Error al ejecutar cordova build -release android
  • Las imágenes se pixelan cuando se toca la pantalla
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.