Ich versuche, eine API zu treffen, wenn Benutzer ein Gerät 10-mal schütteln. Ich habe viele git einfache und Stapelüberlauflösung versucht, aber nicht von ihnen kann mein Problem lösen. Ein Teil der Git-Bibliothek funktioniert, erkennt aber Shake vor 10 oder nach 10 Mal. i have tried this library
and this Bibliothek. Bitte geben Sie mir eine wertvolle Lösung.erkennen Shake in Android
2
A
Antwort
1
von SensorListener Mit
Bitte überprüfen Sie diese tickte Antwort ...
Sie haben SHAKE_THRESHOLD Wert einzustellen diese
How to detect shake event with android?
Danke zu erreichen!
+0
Ich habe es bereits versucht. aber funktioniert nicht für mich –
+1
Bitte fügen Sie Ihren Code ein –
0
haben eine statische Variable, die jedes Mal erhöht wird, wenn ein Shake erkannt wird.
static int count = 0;
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
long curTime = System.currentTimeMillis();
if ((curTime - mLastShakeTime) > MIN_TIME_BETWEEN_SHAKES_MILLISECS) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
double acceleration = Math.sqrt(Math.pow(x, 2) +
Math.pow(y, 2) +
Math.pow(z, 2)) - SensorManager.GRAVITY_EARTH;
if (acceleration > SHAKE_THRESHOLD) {
mLastShakeTime = curTime;
count++;
if(count==10){
//your code goes here
}
}
}
}
Es ist nicht so einfach mit mehreren aufeinander folgenden Shakes. Ich glaube, du musst definieren, was ein ** Shake ** ist und was die ** Timeout ** zwischen zwei Shakes ist, um mit der Lösung zufrieden zu sein – NitroNbg