2013-10-31 15 views
5

Ich benutze this good library für Erkennung von Shake-Motion auf Android-Geräten. Alles ist gut! Aber auf meinem Handy (Sony Xperia P) SMS empfangen mein Handy vibrieren und wackeln entdeckt!
In einigen anderen Telefon wie HTC Sensation XE existiert das Problem nicht.
Irgendwelche Vorschläge?
Danke ist Fortschritt.Android - Shake-Erkennung

+0

Gibt es eine Art API oder Listener, den eine App verwenden kann, um zu sehen, wann immer eine andere App den Shake auslöst? Wenn das so ist, sollte es eine saubere Lösung geben. Wenn nicht, kann ich mir keine einfache Lösung vorstellen! – James

+0

Vibration machen nur sehr schnelle Beschleunigungen in einigen Achsen. Ist es möglich, sie zu ignorieren? Wie? – Hossein

Antwort

6

Ersetzen SensorManager.SENSOR_ACCELEROMETER mit Sensor.TYPE_ACCELEROMETER in sensorMgr.getDefaultSensor löste mein Problem!
Die SensorManager.SENSOR_ACCELEROMETER wurde in API-Ebene 3 (Link) als veraltet eingestuft.

+0

Danke, in den Originalcode eingefügt! – James

0

Dieses Problem kann durch den Unterschied der Sensorempfindlichkeit bei mobilen Geräten verursacht werden. Ihr Xperia hat vermutlich einen empfindlicheren Sensor als das HTC. Sie können dies überprüfen, indem Sie Ihre Erkennung als weniger aggressiv festlegen.

Doubling MINIMUM_EACH_DIRECTION in ShakeDetectActivity Klasse sollte die Aufgabe erledigen.

+0

Danke @sourlreaver. Siehe meine Antwort. – Hossein