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"/>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfpwy.html