android 传感器种类,传感器  |  Android 开源项目  |  Android Open Source Project

a2652319486100ba7ea500fbeabf4d1a.png

Android 传感器使应用可以访问移动设备的底层实体传感器。它们是负责提供数据的虚拟设备,由传感器硬件抽象层 (HAL) sensor.h 进行定义。

什么是 Android 传感器?

Android 传感器属于虚拟设备,可提供来自以下各种物理传感器的数据:加速度计、陀螺仪、磁力计、气压计、湿度传感器、压力传感器、光传感器、近程传感器和心率传感器。

提供数据的物理设备列表中不包括相机、指纹传感器、麦克风和触摸屏。这些设备有自己的报告机制;两类设备的区别并无绝对标准,但一般来说,Android 传感器提供较低带宽的数据。例如,加速度计为“100 hz x 3 个通道”、相机为“25 hz x 8 MP x 3 个通道”,而麦克风为“44 kHz x 1 个通道”。

Android 不定义不同物理传感器如何连接到系统芯片 (SoC)。

通常,传感器芯片通过传感器中枢连接到 SoC,这样可允许对数据进行一些低功耗的监控和处理。

通常,使用内部集成电路 (I2C) 或串行外设接口 (SPI) 作为传输机制。

为了降低功耗,一些架构具有层次性,在专用集成电路(简称 ASIC,如加速度计芯片上的运动检测)中进行极少的处理,而在微控制器(如传感器中枢中的步数检测)中进行更多处理。

设备制造商会根据精确度、功率、价格和封装大小特性来选择架构。有关详情,请参阅传感器堆栈。

批处理功能是功率优化的重要考虑因素。有关详情,请参阅批处理。

每个 Android 传感器都有一个“类型”,表示传感器的行为及其提供的数据。

官方 Android 传感器类型在 sensors.h 中的 SENSOR_TYPE_ 名称下进行定义…

绝大多数传感器都具有官方传感器类型。

这些类型记录在 Android SDK 中。

这些类型的传感器的行为在 Android 兼容性测试套件 (CTS) 中进行测试。

如果制造商在 Android 设备上集成了一种新型传感器,则可以自行定义一个临时类型来引用它。

这些类型没有相关文档,因此应用开发者不太可能使用它们,因为开发者不了解它们,或者知道它们很少存在(仅在该特定制造商制造的某些设备上)。

它们不会经过 CTS 测试。

一旦 Android 为这种传感器定义了官方传感器类型,那么制造商必须停止使用自己的临时类型,并改为使用官方类型。这样,该传感器将可供更多应用开发者使用。

设备上存在的所有传感器的列表由 HAL 实现报告。

可以存在几个相同类型的传感器。例如,两个近程传感器或两个加速度计。

绝大多数应用仅会请求给定类型的单个传感器。例如,请求默认加速度计的应用将获得列表中的第一个加速度计。

传感器通常由唤醒和非唤醒对进行定义,两种传感器会共用同一类型,但其唤醒特性不同。

Android 传感器提供的数据是一系列传感器事件。

每个事件包含:

生成该事件的传感器的句柄

以及一些数据

对所报告数据的解析取决于传感器类型。有关每种传感器类型会报告什么数据的详细信息,请参见传感器类型定义。

现有文档

面向开发者

面向制造商

概览

此传感器页面及其子页面。

Android CDD(兼容性定义文档)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值