手机处于纵向模式时感应动作

时间:2014-12-20 23:25:50

标签: android motion

我想制作一款需要收听手机动作的Android应用。我想听听以下两个州。

在我的应用程序中,手机需要处于以下位置:

enter image description here

并在更改后:

如果屏幕是天空,而不是调用方法,并且屏幕比其他方法更低......

enter image description here

现在我有以下内容:

 @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
        }
    }

}

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果我做对了,你在谈论检测任何震动事件,在这种情况下你需要实现传感器监听器并在onSensorChanged()方法中添加你想要的任何动作