仪器社区

吧里有懂android加速度感应器的大神吗

天使知心520 2017-02-22
评论
全部评论
吴钰洁啊
sm = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
aSensor = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensor = sm.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);

sm.registerListener(myListener, aSensor, SensorManager.SENSOR_DELAY_NORMAL);
sm.registerListener(myListener, mSensor,SensorManager.SENSOR_DELAY_NORMAL);
SensorEventListener myListener =new SensorEventListener() {
publicvoid onSensorChanged(SensorEvent sensorEvent) {

if (sensorEvent.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
magneticFieldValues = sensorEvent.values;
if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
accelerometerValues = sensorEvent.values;

float[] values =newfloat[3];
float[] R = newfloat[9];
SensorManager.getRotationMatrix(R, null, accelerometerValues, magneticFieldValues);
SensorManager.getOrientation(R, values);

//这里 values[0],values[1],values[2]里边的数据就是x y z 轴 分别的角度

}
publicvoid onAccuracyChanged(Sensor sensor,int accuracy) {}
};
12 0 2017-02-23 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论