Android传感器

开发传感器应用

1. 获取传感器管理者对象

// 获取传感器管理者对象
SensorManager mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

2. 获取指定的传感器对象

// 获取指定的传感器 加速度传感器
Sensor sensor = mSensorManager.getDefaultSensor(int type);

这个type就是传感器的类型

  • 加速度传感器
Sensor.TYPE_ACCELEROMETER   
  • 方向传感器
Sensor.TYPE_ORIENTATION
  • 磁场传感器
Sensor.TYPE_MAGNETIC_FIELD
  • 温度传感器
Sensor.TYPE_AMBIENT_TEMPERATURE
  • 光传感器
Sensor.TYPE_LIGHT
  • 压力传感器
Sensor.TYPE_PRESSURE

3. 给传感器添加监听

public boolean registerListener(SensorEventListener listener, Sensor sensor, int samplingPeriodUs);
  • 第一个参数是传感器监听器
  • 第二个参数是上面获取到的传感器对象
  • 第三个参数是指定获取传感器数据的频率

samplingPeriodUs 采样频率支持以下几个频率值

SensorManager.SENSOR_DELAY_FASTEST

最快,延迟最小,比较消耗电量,由于传递的为原始数据,如果算法处理不好将会影响应用的性能

SensorManager.SENSOR_DELAY_GAME

适合游戏的频率,在一般实时性要求的应用上适合使用这种频率。

SensorManager.SENSOR_DELAY_NORMAL

正常的频率,实时性要求不是很高的时候适合这种频率。

SensorManager.SENSOR_DELAY_UI

适合普通用户界面的频率,这种模式比较省电,而且系统开销也很小,但是延迟较大,适合在普通的小程序中使用

说明

通过以上简单的三个步骤,就可以利用手机自带的传感器获取到相应的传感器数据,进行开发了(硬件必须支持),后续我会针对各个传感器单独写Demo,感兴趣的话可以关注一下。

Android传感器的更多相关文章

  1. android 传感器应用

    本章讲述Android开发中,传感器应用相关的知识点. 1.功能需求 做一个基于传感器的水平尺应用. 2.软件实现

  2. Android 传感器

    今天介绍一下Android的传感器,开发Android传感器的步骤: 1.调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorMan ...

  3. 《IT蓝豹》吹雪花demo,学习android传感器

    吹雪花demo,学习android传感器 吹雪花demo,学习android传感器,嘴巴对着手机底部吹一下就会出现飘着雪花效果. 算是学习android传感器效果.本例子主要是通过android.me ...

  4. 《android传感器高级编程》译者序

    翻看手机中的应用,就能发现大多数应用都已经使用了传感器.让微信彻底火起来的“附近的人”和“摇一摇”.碰一碰交换信息的Bump.各种运动记录app.神奇的“磁力探测仪”.火爆的游戏Temple Run… ...

  5. 《Android传感器高级编程》

    <Android传感器高级编程> 基本信息 原书名:Professional Android Sensor Programming 原出版社: Wrox 作者: (美)米内特(Greg M ...

  6. android传感器使用

    android传感器的使用以加速度传感器.方向传感器.磁场.压力.温度.光感.特别的距离传感器为例介绍. 首先所在的类需要implement SensorEventListener.使用传感器分为以下 ...

  7. Android传感器编程带实例

    看了程序人生 网站的 编程高手的编程感悟 深有感触,好像也是一个android 程序员写的,推荐大家也看看.话不多说,还是言归正传吧. 一.前言 我很喜欢电脑,可是笔记本还是太大,笔记本电脑再小还是要 ...

  8. Android传感器概述(六)

    监视传感器事件 要监视原始的传感器数据,你须要实现两个通过SensorEventListener接口暴露的回调方法:onAccuracyChanged()和onSensorChanged().Andr ...

  9. Android传感器的使用(GravieySensor)

    这里以重力传感器为例说明 第一步:创建一个SensorManager对象,用来管理或者获取传感器 SensorManager sm = (SensorManager) this.getSystemSe ...

随机推荐

  1. python3爬取女神图片,破解盗链问题

    title: python3爬取女神图片,破解盗链问题 date: 2018-04-22 08:26:00 tags: [python3,美女,图片抓取,爬虫, 盗链] comments: true ...

  2. [SDOI2014]数表

    题目描述 有一张N*m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a的数之和. 输 ...

  3. 【BZOJ3506】【Cqoi2014】排序机械臂

    传送门(因为BZOJ上没有题面...所以放的是luogu的) 题意:你需要维护一个序列,支持区间翻转与查询区间最小. 解题思路:由于区间最小实际上每一次就是对应的整个数列的第k小,因此可以直接预处理解 ...

  4. 51nod 1179 最大的最大公约数

    1179 最大的最大公约数 题目来源: SGU 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 给出N个正整数,找出N个数两两之间最大公约数的最大值.例如:N = ...

  5. 一则利用内核漏洞获取root权限的案例【转】

    转自:https://blog.csdn.net/u014089131/article/details/73933649 目录(?)[-] 漏洞描述 漏洞的影响范围 漏洞曝光时间 漏洞产生的原因 漏洞 ...

  6. VC++6.0的使用方法

    VC++6.0的最基本使用方法,创建一个c++项目工程可参考:https://jingyan.baidu.com/article/8ebacdf0cbdb5749f75cd54a.html 这里面的操 ...

  7. SSD:TensorFlow中的单次多重检测器

    SSD:TensorFlow中的单次多重检测器 SSD Notebook 包含 SSD TensorFlow 的最小示例. 很快,就检测出了两个主要步骤:在图像上运行SSD网络,并使用通用算法(top ...

  8. Echarts 地图添加自定义区域

    使用 Echarts 生成地图时,如果需要添加一些自定义区域,该怎么做呢?请看下面示例. 生成原始地图 index.hmtl 引入 Jquery 和 Echart <!DOCTYPE html& ...

  9. consul怎么在windows下安装

    1.去官网下载:https://www.consul.io/downloads.html 2.解压: 3.设置环境变量:path添加 E:\programfiles\consul: 4.cmd启动: ...

  10. ubuntu批量更改文件权限

    重装系统之后,把文件从windows分区拷到linux分区发现所有文件的权限全是777,在终端下看到所有文件的颜色都很刺眼,文件有很多,一个一个改不现实,所以写了一段python脚本批量更改文件权限. ...