在 android 中实施 TYPE_SIGNIFICANT_MOTION 传感器

Implementation of TYPE_SIGNIFICANT_MOTION sensor in android

在 4.4 中,Google 引入了 Significant Motion Sensor

假设它是软件实现的,使用加速度计和陀螺仪等硬件传感器,我想知道它是如何完成的(我也无法在源代码中找到它)。

这真的取决于硬件实现。例如,HTC "flounder" (Nexus 8/9) 有一个公开此信息的 HAL。类似地,华硕 "tilapia" 和 "grouper" (Nexus 7)、三星 "manta" (Nexus 10) 和 LG "hammerhead" (Nexus 5) 使用 invensense HAL 公开相同的内容.在这些情况下,数据来自内核驱动程序公开的接口,这可能是真实的硬件信号。例如,有 3 轴 G 传感器(通常用于加速度计)可以检测 "shake" 或突然运动,并为应用程序处理器提供单独的中断。所以最重要的是,重要的运动传感器不一定是软件派生的传感器。