我想知道为什么我无法通过诸如此类的事件接收重要的运动传感器数据。
正如您可能知道的,我们可以通过 Override onSensorChanged
方法 ( link ) 通过事件接收所有传感器数据,但重要的运动传感器是唯一一个(据我所知)我们无法使用事件进行采样的传感器只需使用触发器( link )。我唯一知道的一点是,该传感器必须在事件发送后自行禁用(一次性)。
我假设如果我了解 Android 中的事件和触发器之间的区别,我就会理解为什么重要的运动传感器与触发器一起工作,因此我的问题是“Android 中的触发器和事件之间有什么区别”
谢谢!
最佳答案
Android 中没有固有事件。您所说的“事件”通常只是一个接口(interface)变量,当某些事情发生时您可以对其进行操作。实际上,它是一个事件,但重要的是要了解该语言中没有内置事件 - 只是很好地利用了 Java 机制。 也没有触发器。您可以将任何事件称为触发器,没有真正的区别。这只是语义。
为了进一步说明这一点,您可以查看 base sensor documentation 。您会看到,他们使用术语“触发模式”来指代所有传感器事件,但他们使用“事件”一词来指代重要的运动传感器。底线是,一切都是一样的。
我真的不知道为什么框架团队选择将一些 API 方法命名为 on***Changed
而其他方法命名为“onTrigger”。我只能假设它更具描述性——“触发器”更适合单次状态变化传感器,而 onChange 则更像是一个连续的事情。
关于android - Android中触发器和事件有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843647/