Android 传感器 - 其中哪些获得直接输入?

标签 android android-sensors

Android SDK 实际上提供了一个很好的接口(interface)来访问传感器。 但是例如线性加速度传感器可以评估为 documentation重力加速度描述 - 所以这个传感器没有真正的物理对应物,它更像是 - 让我们称之为 - “虚拟传感器”。

对于接近传感器,事情很清楚,我无法想象它会受到其他一些值的影响。

但当 GPS 信号相当微弱时,GPS 传感器可能会受到加速计传感器的影响,我认为值以某种方式估计得到其他传感器的支持。

所以基本上我的问题是:哪些传感器确实从物理传感器获取直接输入,哪些以某种方式改变或完全由 Android-SDK 计算? 我如何从传感器获取原始输入?

我附加了一个通过传感器类可用的传感器列表。 GPS、W-LAN、相机等丢失

//API-Level: 3
   TYPE_ACCELEROMETER
   TYPE_GYROSCOPE
   TYPE_LIGHT
   TYPE_MAGNETIC_FIELD
   TYPE_PRESSURE
   TYPE_PROXIMITY
   TYPE_TEMPERATURE


//API-Level: 9 (2.3)
   TYPE_GRAVITY
   TYPE_LINEAR_ACCELERATION  // can be calculated via acc. and grav. (link above)
   TYPE_ROTATION_VECTOR

最佳答案

我很确定 GPS 目前是独立的或提供原始数据输出。

方向传感器是我所知道的一种,它不是来自单个传感器的原始传感器,而是实际上是 2 个传感器的融合,将来可能会更多(陀螺仪)。截至目前,方向是磁场传感器(罗盘)和加速度计的组合。任何现代指南针都会使用指南针和加速度计来计算其最终方向并补偿漂移、噪音和其他干扰。如果您在使用获取旋转矩阵和获取方向计算方向时注意到,它需要您同时监听磁场和加速度计传感器。

我会说重力、线性加速度和旋转矢量传感器不是实际的传感器,只是从其他传感器分离出来的部分数据,主要来自加速度计和指南针。

最后,压力和温度传感器实际上是通过单个传感器计算的。

关于Android 传感器 - 其中哪些获得直接输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6262405/

相关文章:

android - setRequestedOrientation,但仍根据传感器改变

Android加速度计角度计算

java - 在Android上使用网络套接字发送传感器的原始数据

java - BMP280 服务特定异常 : I/O error (code 5)

android - 如何禁用警报对话框中 ListView 中的某些项目

android - 在 WebView 中隐藏滚动条

java - 我有错误 "Call requires API level 11 (current min is 8)"。这是我在我的项目(ECLIPSE)中可以找到的

android - 异常 java.lang.IllegalArgumentException : Requested window android. os.BinderProxy@4205eb18 不存在是什么意思

android - 为什么当 XMPP 连接断开时状态类型用户从不可用变为可用

android - 获取传感器 event.values.length()(无需等待 onSensorChanged())