Android方向传感器

public class MainActivity extends Activity {

	private SensorManager sensorManager;
	private MySensorListener mySensorListener;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		init();
	}

	private void init() {
		setContentView(R.layout.activity_main);

		// 传感器管理
		sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
		mySensorListener = new MySensorListener();
	}

	@SuppressWarnings("deprecation")
	@Override
	protected void onResume() {
		sensorManager.registerListener(mySensorListener,
				SensorManager.SENSOR_ORIENTATION,
				SensorManager.SENSOR_DELAY_NORMAL);
		super.onResume();
	}

	@Override
	protected void onPause() {
		sensorManager.unregisterListener(mySensorListener);
		super.onPause();
	}

	private class MySensorListener implements SensorListener {

		@Override
		public void onSensorChanged(int sensor, float[] values) {
			Log.i("WYL", "方向角:" + values[0] + "倾斜角:" + values[1] + "旋转角:"
					+ values[2]);
		}

		@Override
		public void onAccuracyChanged(int sensor, int accuracy) {
			// 精度发生改变

		}

	}
}


转载至:http://bbs.hiapk.com/forum.php?mod=viewthread&tid=2874052

x 方向就是手机的水平方向,右为正;
y 方向就是手机的水平垂直方向,前为正;
z 方向就是手机的空间垂直方向,天空的方向为正,地球的方向为负。
方向角:的定义是手机y轴 水平面上的投影 与 正北方向的夹角。 (值得范围是 0 ~ 359 其中0=North, 90=East, 180=South, 270=West)
倾斜角:的定义是手机y轴 与水平面的夹角 (手机z轴向y轴方向移动为正 ,值得范围是 -180 ~ 180)
旋转角:的定义是手机x轴 与水平面的夹角 (手机x轴离开z轴方向为正, 值得范围是 -90 ~ 90)
也就是说,当你把手机水平放置在桌面上(屏幕向上)且手机指向正北(Y轴方向),此时传感器获得的xyz三个值应该都为0。
如下是Rexsee实现的方向传感器功能源码。我会把Rexsee扩展的全部传感器源码都陆续贴出来,感兴趣的也可以直接去Rexsee社区查阅,反正都是开源的:http://www.rexsee.com。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值