android传感器

 
   

一、引入:
    手机内置的传感器是一种微型的物理设备,它能够探测、感受外界的信号,将来自真实世界的数据提供给应用程序,应用程序然后使用传感器数据向用户通知真实世界的情况,或用来控制游戏进度、或实现增强现实等。至于具体如何去利用这些信息就要充分发挥开发者的想象力了。

    传感器目前已经成为了智能手机的标配。比较常见的传感器有:方向传感器、磁场传感器、温度传感器、光传感器、压力传感器、加速度传感器、重力传感器、陀螺仪传感器等。传感器就像一个个触手,不断采集着外部的信息,并将这些信息传送回手机进一步处理。在Android的特色开发技术中,除了基于位置的服务外,传感器技术绝对是最值得期待的技术。通过在Android应用中添加传感器,可以充分激发开发者的想象力,开发出各种新奇的程序。比如电子罗盘、水平仪,各种感知型游戏。

目前Android设备中可能出现的一些传感器类型包括:

  • 方向传感器
  • 磁场传感器
  • 温度传感器
  • 光传感器
  • 压力传感器
  • 加速度
  • 距离传感器
  • 陀螺仪传感器
  • 重力传感器(Android2.3开始)
  • 线性加速度传感器(Android2.3开始)
  • 旋转矢量传感器(Android2.3开始)
  • 相对湿度传感器(Android2.3开始)
  • NFC(近场通信)传感器(Android2.3开始):NFC传感器与其他传感器不同,因为它使用与其他传感器完全不同的方式来访问。

二、检测设备中的传感器 :
        Android SDK中定义了十多种传感器,但是不是每个手机都完全支持这些传感器。Google Nexus S支持9种传感器,HTC G7支持5种,红米手机支持9种(不支持压力、温度和相对湿度传感器)。如果手机不支持的传感器,程序运行往往不会抛出异常,只是无法获得传感器传回的数据。
        那么如何知道设备上有哪些传感器可用呢?有两种方式:一是直接的,二是间接的。
1、直接方式:
        首先获取SensorManager对象,通过上下文对象的getSystemService(SENSOR_SERVICE)方法就可以获取到系统的传感器管理服务。然后调用SensorManager对象的getSensorList()方法获取传感器集合,遍历获取到的集合就能得到传感器信息。


    表1  传感器类型

方法

说明

int TYPE_ACCELEROMETER = 1

三轴加速度传感器(返回三个坐标轴的加速度,单位m/s2)

int TYPE_MAGNETIC_FIELD = 2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值