可用的Android设备传感器列表



我的手机有以下传感器列表:

 BMA150 3-axis Accelerometer, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 3.0, Resolution: 2.480159E-4, Max Range: 2.8
 AK8973 3-axis Magnetic field sensor, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 6.7, Resolution: 1.0, Max Range: 2000.0
 AK8973 Orientation sensor, Type: 0, Vendor: The Android Open Source Project, Version: 1, Power: 9.7, Resolution: 1.0, Max Range: 360.0
 APDS9900 Proximity sensor, Type: 8, Vendor: AVAGO, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 1.0
 APDS Light sensor, Type: 5, Vendor: AVAGO, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL rotation vector, Type: 11, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL linear accel, Type: 10, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL gravity, Type: 9, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL Gyro, Type: 4, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL accel, Type: 1, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL magnetic field, Type: 2, Vendor: Invensense, Version: 1, Power: 0.5, Resolution: 1.0, Max Range: 10240.0
 MPL Orientation (android deprecated format), Type: 3, Vendor: Invensense, Version: 1, Power: 9.7, Resolution: 1.0, Max Range: 360.0

我想知道,为什么加速度计有两个传感器,两个磁性和两个方向传感器,其中主动传感器被弃用?

这些休眠传感器有任何功能吗?

谢谢,亚当•泽阿维。

我强烈建议只使用标准的Android传感器,如

旋转矢量传感器,重力传感器,线性加速度传感器,方向传感器

而不是MPL类型。MPL类型是Invensense的组件特定的非标准功能,不能在其他手机上工作。

此外,我在我的Galaxy Nexus上试用了这两种类型,发现上面列出的标准Android传感器提供了比MPL类型更好的传感器数据融合结果。例如,旋转矢量传感器比MPL旋转矢量更好地补偿磁畸变。

你的手机只有一组物理传感器,但不同的库可能会读取它并提供Android接口。MPL传感器使用Invensense运动处理库,该库融合来自传感器的数据,并提供(有望改进的)过滤结果。我的猜测是Android传感器提供了一些接近传感器原始数据的东西。

方向传感器类型作为一个整体被弃用,而不仅仅是一个特定的传感器。"方向"一词指的是纵向/横向,这很容易与旋转矢量传感器混淆,后者返回完整的3D方向。

为了获得最佳兼容性,不要硬编码特定传感器的使用。使用SensorManager.getDefaultSensor()方法,并在必要时使用传感器的属性来调整应用程序的行为。

我看到你有两个方向传感器,但一个是0型,另一个是3型。我只开发Delphi Xe5 Android应用程序,其中传感器类型声明传感器功能。例如方向类型0:Compass 1D,类型3:Inclinometer1D。

我认为它的工作原理类似于Java在XE5?

XE5的文档非常泄漏,但另一个证据是IDE演示应用程序中的代码:LSensorArray:= TSensorManager.Current.GetSensorsByCategory(ASensorCategory);GetSensorsByCategory()返回给定类别的传感器数组…

最新更新