安卓系统传感器的使用
来源:互联网 发布:mac系统截屏快捷键 编辑:程序博客网 时间:2024/06/05 22:56
传感器的使用传感器(英文名称:sensor)是一种检测装置,能感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出#define SENSOR_TYPE_ACCELEROMETER 1 //加速度#define SENSOR_TYPE_MAGNETIC_FIELD 2 //磁力#define SENSOR_TYPE_ORIENTATION 3 //方向#define SENSOR_TYPE_GYROSCOPE 4 //陀螺仪#define SENSOR_TYPE_LIGHT 5 //光线感应#define SENSOR_TYPE_PRESSURE 6 //压力#define SENSOR_TYPE_TEMPERATURE 7 //温度 #define SENSOR_TYPE_PROXIMITY 8 //接近#define SENSOR_TYPE_GRAVITY 9 //重力#define SENSOR_TYPE_LINEAR_ACCELERATION 10//线性加速度陀螺仪又叫角速度传感器,是不同于加速度计(G-sensor)的,他的测量物理量是偏转、倾斜时的转动角速度。在手机上,仅用加速度计没办法测量或重构出完整的3D动作,测不到转动的动作的,G-sensor只能检测轴向的线性动作。但陀螺仪则可以对转动、偏转的动作做很好的测量,这样就可以精确分析判断出使用者的实际动作。而后根据动作,可以对手机做相应的操作代码//1. 获取传感器管理器SensorManagersm = (SensorManager) getSystemService(SENSOR_SERVICE);//2. 获取某个传感器的引用,注册监听Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT);listener = new MyListnener();sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL);//3.在监听器的回调事件中进行处理private class MyListnener implements SensorEventListener{ //当传感器数据变化的时候调用的方法 @Override public void onSensorChanged(SensorEvent event) { float light = event.values[0]; System.out.println("光线强度:"+light); } //当传感器精度发生变化的时候调用的方法 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { }}
光传感器
public class MainActivity extends Activity { SensorManager sm ; private MyListnener listener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取系统底层服务 //传感器 sm = (SensorManager) getSystemService(SENSOR_SERVICE); //得到光传感器 获取默认的传感器 光传感器 Sensor sensor = sm.getDefaultSensor(Sensor.TYPE_LIGHT); //创建监听器 listener = new MyListnener(); //给传感器设定一个监听器 /* * 1.监听器 * */ // 一秒钟大约采样多少次 sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL); } //定义一个监听器 private class MyListnener implements SensorEventListener{ //当传感器数据变化的调用的方法 @Override// 传感器的事件 public void onSensorChanged(SensorEvent event) { //设置光传感器的光线强弱 float light = event.values[0]; // values 传感器的值 代表光线的强弱 System.out.println("光线强度:"+light); } //当传感器精度发生变化的时候调用的方法 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } } @Override protected void onDestroy() { //取消监听器 sm.unregisterListener(listener); listener = null; //将监听器置为null ,关闭传感器 super.onDestroy(); }}
方向传感器_指南针
public class MainActivity extends Activity { SensorManager sm ; private MyListnener listener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取系统的传感想器 sm = (SensorManager) getSystemService(SENSOR_SERVICE); //得到方向传感器 Sensor sensor = sm.getDefaultSensor(3); listener = new MyListnener(); sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL); } private class MyListnener implements SensorEventListener{ //当传感器数据变化的调用的方法 @Override public void onSensorChanged(SensorEvent event) {//event 当前的事件 //values[0]: 地磁北极和手机y轴的夹角, 0=北, 90=东, 180=南, 270=西 int angle = (int) event.values[0]; if(angle>0&&angle<90){ System.out.println("东北"); }else if (angle>90&&angle<180){ System.out.println("东南"); }else if(angle>180&&angle<270){ System.out.println("西南"); }else if(angle>270&&angle<360){ System.out.println("西北"); }else if(angle==0){ System.out.println("北"); }else if(angle==90){ System.out.println("东"); }else if(angle==180){ System.out.println("南"); }else if(angle==270){ System.out.println("西"); } } //当传感器精度发生变化的时候调用的方法 @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } } @Override protected void onDestroy() { sm.unregisterListener(listener); listener = null; super.onDestroy(); }}
0 0
- 安卓系统传感器的使用
- 安卓传感器使用详解
- 安卓传感器-重力传感器
- 安卓传感器的相关知识
- 安卓手机的内置传感器
- 安卓传感器api
- 安卓传感器 Sensor
- 安卓传感器介绍
- 安卓传感器开发
- 安卓 传感器基础
- 安卓传感器
- 安卓手机传感器
- 安卓传感器+WIFI
- 安桌方向传感器使用
- Iwfu-安卓传感器(2)使用传感器实现几个小例子
- 传感器的使用:光线传感器
- 传感器的使用:加速度传感器
- 传感器的使用:方向传感器
- 实时获取Android手机CPU占用率
- Android FrameWork底层开发视频全套
- Linux学习笔记
- 蛇形输出一段数字
- mac officeWord2016 安装并激活
- 安卓系统传感器的使用
- 打开远程桌面连接
- Spring MVC通过JSON实现前后台数据交互
- 多线程题目
- 屏幕截图小软件的编写——WINDOWS API
- go http transfer.go学习
- 高效使用Google
- js学习笔记:数据存储
- ARM第五天(串口下)