我想制作一款需要收听手机动作的Android应用。我想听听以下两个州。
在我的应用程序中,手机需要处于以下位置:
并在更改后:
如果屏幕是天空,而不是调用方法,并且屏幕比其他方法更低......
现在我有以下内容:
@Override
public void onSensorChanged(SensorEvent event) {
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
mGravity = event.values.clone();
// Shake detection
float x = mGravity[0];
float y = mGravity[1];
float z = mGravity[2];
Log.d("X",String.valueOf(x));
Log.d("y",String.valueOf(y));
Log.d("z",String.valueOf(z));
mAccelLast = mAccelCurrent;
mAccelCurrent = FloatMath.sqrt(x * x + y * y + z * z);
float delta = mAccelCurrent - mAccelLast;
mAccel = mAccel * 0.9f + delta;
// Make this higher or lower according to how much
// motion you want to detect
Log.d("MACCEL",String.valueOf(mAccel));
if(mAccel > 3){
// do something
}
}
}
感谢您的帮助!
答案 0 :(得分:1)
如果我做对了,你在谈论检测任何震动事件,在这种情况下你需要实现传感器监听器并在onSensorChanged()方法中添加你想要的任何动作