Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-手机拉扯动作_Android - Fatal编程技术网

Android 安卓-手机拉扯动作

Android 安卓-手机拉扯动作,android,Android,有人知道有没有一种方法可以检测用户何时用手机做动作。特别是,我试图检测用户何时快速向后移动(或向自己移动) 有人知道任何解决方案吗?您需要将sensorListener实现为: public class MotionActivity extends Activity implements SensorListener { } 它在onSensorChanged上有一个方法,震动上的所有功能都可以通过该方法实现: public void onSensorChanged(int sensor,

有人知道有没有一种方法可以检测用户何时用手机做动作。特别是,我试图检测用户何时快速向后移动(或向自己移动)


有人知道任何解决方案吗?

您需要将sensorListener实现为:

public class MotionActivity extends Activity implements SensorListener {

}
它在onSensorChanged上有一个方法,震动上的所有功能都可以通过该方法实现:

public void onSensorChanged(int sensor, float[] values) {


}
您可以访问该链接来使用android中的传感器


另外,请访问stackoverflow以了解更多信息。

听起来您正在寻找加速计。下面是一个示例类,它实现了SensorEventListener,用于侦听传感器运动

public class AccelerometerHandler implements SensorEventListener
{
    float accelX;
    float accelY;
    float accelZ;

    public AccelerometerHandler(Context paramContext)
    {
        SensorManager localSensorManager = (SensorManager)paramContext.getSystemService("sensor");

        if (localSensorManager.getSensorList(1).size() != 0)
            localSensorManager.registerListener(this, (Sensor)localSensorManager.getSensorList(1).get(0), 1);
    }

    public float getAccelX()
    {
        return this.accelX;
    }

    public float getAccelY()
    {
        return this.accelY;
    }

    public float getAccelZ()
    {
        return this.accelZ;
    }

    public void onAccuracyChanged(Sensor paramSensor, int paramInt)
    {
    }

    public void onSensorChanged(SensorEvent paramSensorEvent)
    {
        this.accelX = paramSensorEvent.values[0];
        this.accelY = paramSensorEvent.values[1];
        this.accelZ = paramSensorEvent.values[2];
    }
}

X、Y、Z值的集合不是原子操作,因此此“处理程序”不是线程安全的。请实现[-Synchronized类)模式。