首页 / 操作系统 / Linux / Android 电子罗盘开发
Android 上电子罗盘的数据获取非常的简单, 它会返回一个值给我们, 而这个值就是度数。 我们只需要一个成员变量 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 的</application> 下面, 允许程序使用传感器<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"/>