Android仿微信摇一摇,加速度传感器基本使用

这是一个完整例子,复制就能运行


/**
 * 
 * 模仿微信摇一摇,触发一个吐丝
 * 用加速度传感器:Sensor;
 *
 */
public class MainActivity extends Activity {
private SensorManager sensorManager;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sensorManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);


}

private SensorEventListener listener=new SensorEventListener() {

@Override
public void onSensorChanged(SensorEvent event) {
//加速度可能会是负值,所以要去他们的绝对值
float xValue = Math.abs(event.values[0]);
float yValue = Math.abs(event.values[1]);
float zValue = Math.abs(event.values[2]);
//当加速度的值大于15m/s^2是,触发吐丝
if (xValue>15||yValue>15||zValue>15) {
//认为用户摇动了手机,出发一个逻辑
Toast.makeText(MainActivity.this, "摇一摇", 10).show();

}

}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub

}
};


@Override
protected void onDestroy() {
super.onDestroy();
if (sensorManager!=null) {
sensorManager.unregisterListener(listener);
                                     

}



}





}

如果没有明白下载我的例子

http://download.csdn.net/detail/zhaihaohao1/8404579




你可能感兴趣的:(Android仿微信摇一摇,加速度传感器基本使用)