在Activity的onCreate
SensorManager sm = (SensorManager)getSystemService(SENSOR_SERVICE);List sensors = sm.getSensorList(Sensor.TYPE_ORIENTATION);
if (sensors.size()==1) {
sensor = sensors.get(0);
}
在onResume註冊一個SensorEventListener
if (sensor!=null) sm.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST);
在onStop 移除SensorEventListener的註冊
if (sensor!=null) sm.unregisterListener(this);
在SensorEventListener中public void onSensorChanged(SensorEvent event)
可得三個方向傳感器傳來的值
event.values[SensorManager.DATA_X]
代表手機平放時, 手機與北方的角度(0-360)
event.values[SensorManager.DATA_Y]
代表手機平放時的上下傾斜角度
event.values[SensorManager.DATA_Z]
代表手機平放時的左右傾斜角度