Android 电子罗盘开发

2014-11-24 13:53:53 · 作者: · 浏览: 3

我们只需要一个成员变量


Private SensorManager sensorManager;


该变量管理手机中的传感器信息。



Public void onCreate(Bundle b)


{


//获取系统服务管理


sensorManager = (SensorManager)getSysytemService(SENSOR_SERVICE);


}



这里我们还需要注册一下, 在OnResume重载成员方法中


@Override


protected void onResume()


{


//使用方向传感器


sensorManager.registerListener(selistener, sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_NOMAL);


super.onResume();


}



@Override


protectedvoid onPause()


{


//卸载传感器事件


sensor.unregisterListener(selistener);


super.onPause();


}



//传感器消息触发事件


privatefinal SensorEventListener selistener = new SensorEventListener()


{



publicvoid onSensorChanged(SensorEvent event)


{


mAngle= event.values[SensorManager.DATA_X];


textSensor.setText("角度:" + mAngle);


}



publicvoid onAccuracyChanged(Sensor sensor, int accuracy)


{


}


};



最后再加一个在AndroidManifest.xml 的 下面, 允许程序使用传感器