当我摇动设备时,我使用 sensorevenetlistner 触发了一个意图,问题只是一点点摇动,意图正在触发,但我希望它仅在我摇动设备 3 次或一定次数的摇动时触发
private void getAccelerometer(SensorEvent event) {
float[] values = event.values;
// Movement
float x = values[0];
float y = values[1];
float z = values[2];
float accelationSquareRoot = (x * x + y * y + z * z)
/ (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
long actualTime = System.currentTimeMillis();
if (accelationSquareRoot >= 2) //
{
if (actualTime - lastUpdate < 200) {
return;
}
lastUpdate = actualTime;
//Toast.makeText(this, "Device was shuffed", Toast.LENGTH_SHORT)
// .show();
Intent myIntent = new Intent(SensorTestActivity.this, passwordActivity.class);
startActivity(myIntent);
}
};
下面是我的完整代码
我很震惊..任何建议表示赞赏。