在安卓系统中实现TYPE_SIGNIFICANT_MOTION传感器

3
在4.4中,Google引入了重要运动传感器
假设它是软件实现的,使用像加速度计和陀螺仪这样的硬件传感器,我想知道它是如何完成的(我也没有在源代码中找到它)。
1个回答

4
这取决于硬件的实现方式。例如,HTC“flounder”(Nexus 8/9)具有一个HAL,用于公开此功能。同样,Asus的“tilapia”和“grouper”(Nexus 7),三星的“manta”(Nexus 10)以及LG的“hammerhead”(Nexus 5)利用invensense HAL来公开相同的功能。在这些情况下,数据来自内核驱动程序公开接口,这可能是真实的硬件信号。例如,有3轴G传感器(通常用于加速度计),可以检测到“摇晃”或突然运动,并向应用处理器提供单独的中断。因此,重要动作传感器并不一定是软件派生的传感器。

2
好的,那么谷歌有没有关于制造商如何实现它的规定?否则,这个传感器将是相当无用的,因为“significant”并没有被很好地定义。 - nobatlinux
3
HAL传感器头文件CDD中没有明确定义如何实现,可接受的运动幅度等内容。然而,值得注意的是(在头文件中),显著运动传感器仅用于唤醒目的,没有其他含义。 - Larry Schiefer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接