Android学习篇章54-方向传感器-SensorEventListener
2013-11-05 22:24
567 查看
MainActivity:
public class MainActivity extends Activity { SensorManager sm=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override protected void onResume() { sm=(SensorManager)this.getSystemService(Context.SENSOR_SERVICE); //获得方向传感器 在Android2.2以后版本 推荐使用陀螺仪替代方向传感器 //因为方向传感器是由加速度计和磁场传感器组成的逻辑传感器 所以的测量精度比较低 //google推荐使用陀螺仪替代,但是陀螺仪价格比较高,目前只有中高端手机才内置陀螺仪 //所以现在为了照顾兼容性 一般的手机中代码还是使用方向传感器 List<Sensor> list=sm.getSensorList(Sensor.TYPE_ORIENTATION); if(list!=null && list.size()>0) { //刷新率有4个等级 越快的等级对主线程的影响就越大,会使得用户界面的刷新变得迟钝 UI等级最低 sm.registerListener(lst, list.get(0), SensorManager.SENSOR_DELAY_UI); } super.onResume(); } @Override protected void onPause() { //取消传感器的监听器 即关闭传感器 节省电量 if(sm!=null) { sm.unregisterListener(lst); } super.onPause(); } //传感器的监听器 SensorEventListener lst=new SensorEventListener() { //当传感器测得新的值时就会执行 @Override public void onSensorChanged(SensorEvent event) { //方向角:手机绕z轴旋转 机头与地球北极的夹角 //俯仰角:手机绕x轴旋转 与水平面的夹角 //滚转角:手机绕y轴旋转与水平面的夹角 Log.i("test","方向角:"+event.values[0]+" 俯仰角:"+event.values[1]+" 滚转角:"+event.values[2]); } //当传感器的测量精度发生改变时会执行 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } }; @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- Android学习篇章54-光线传感器-SensorEventListener
- Android学习篇章55-加速度传感器-SensorEventListener
- Android--SensorEventListener和AudioManager实现根据条件转换手机震动和响铃
- Android学习记录:MotionEvent,onTouch,OnTouchListener 事件机制等学习
- Android Orientation Sensor(方向传感器)详解与应用
- Android学习篇章53-SensorManage 获取传感器列表
- Android SensorManager \ SensorEventListener
- Android手机摇一摇的实现SensorEventListener
- android 方向传感器Sensor或指南针罗盘研究
- Android Orientation Sensor(方向传感器)详解与应用
- Android笔记37: Sensor.TYPE_ORIENTATION 方向传感器,转向晕了个头
- Android方向传感器学习之指南针示例
- Android Orientation Sensor(方向传感器)详解与应用
- android方向传感器(SENSOR_TYPE_ORIENTATION)
- android中如何使用方向传感器Sensor
- Android-加速传感器或者OrientationEventListener做横竖屏切换
- Android C++ 实现SensorEventListener
- Android Orientation Sensor(方向传感器)详解与应用
- Android Orientation Sensor(方向传感器)详解与应用
- Android--SensorEventListener和AudioManager实现根据条件转换手机震动和响铃