-3

我尝试在单击按钮的事件中使用传感器管理器获取方向角度以及要在文本视图中添加的值,但传感器值在用户界面上每纳秒更新一次。你能帮助创建一个代码,让传感器事件值在特定的时间戳。

提前致谢

4

1 回答 1

1

没有直接的方法可以从传感器获取单个值。您将不得不使用一种解决方法:

  • onClick()方法中,调用registerListener()该传感器
  • onSensorEventChanged()方法中,调用unregisterListener(),然后更新您的 TextView。

这将在收到一个事件后从侦听器中注销。

注意,悬停:

  • 事件传递将是异步的。TextView 将没有新值作为onClick()返回值。任何依赖于此的处理都需要在onSensorEventChanged().
  • 仍然存在一些竞争条件,因为在您的代码从传感器注销之前,您可能会收到来自传感器的多个事件。如果这是不希望的,请跟踪您是否已经收到事件并丢弃任何后续事件。
  • 有时传感器传输数据的速度可能很慢(我已经看到它发生了)。您的活动可能会在事件到达您之前终止,因此请确保unregisterListener()在您的活动进入后台时包含额外的调用(例如 in onPause())。
于 2013-09-25T15:20:53.310 回答