android - Android中触发器和事件有什么区别

标签 android events triggers

我想知道为什么我无法通过诸如此类的事件接收重要的运动传感器数据。

正如您可能知道的,我们可以通过 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/

相关文章:

android - 是否可以仅在构建时在Gradle中复制/替换文件?

android - 有没有办法为所有可用的操作系统获取当前运行的前台应用程序(包)?

c# - 在 Visual Studio 2012 中,页面控件和事件转到代码隐藏的哪个位置?

ios - iOS OpenGL ES 2 中的黑屏/无事件

javascript - addEventListener ("loadedmetadata",有趣)没有正确运行,Firefox 错过事件

jquery - JavaScript/jQuery – 如何区分触发点击和用户点击?

mysql 触发器无法识别

java - Android - 电影卡住时的动画 gif,仅显示图像的一小部分

android - JetpackCompose Modifier 属性的 aspectRatio(1f) 和 fillMaxSize() 有什么区别

sql - 在 SQL 触发器中使用等号时遇到问题