相互作用

從 Android 應用程序的角度來看,每個 Android 傳感器都是一個獨立的實體,這意味著不同的傳感器之間沒有交互。

  • 即使多個 Android 傳感器可能共享相同的底層物理傳感器也是如此
  • 例如:計步器、顯著運動和加速度計,都依賴於同一個物理加速度計,必須能夠同時工作
  • 對於同一傳感器的喚醒和非喚醒版本也是如此

Android 傳感器必須能夠同時且相互獨立地工作。也就是說,對一個 Android 傳感器的任何操作都不得影響其他傳感器的行為。

具體來說,在 HAL 級別:

  • 激活傳感器
  • 停用傳感器
  • 改變傳感器的採樣頻率
  • 更改傳感器的最大報告延遲

不能導致:

  • 另一個激活的傳感器停止工作
  • 另一個激活的傳感器來改變採樣率
  • 另一個激活的傳感器以降低其測量的質量
  • 另一個未激活的傳感器開始傳遞事件

上述任何操作也不能阻止另一個傳感器上的操作(激活、停用和參數更改)成功。例如,我們是否可以激活計步器必須與加速度計當前是否激活無關。

作為另一個重要示例,以 5Hz 激活的喚醒傳感器必須在 5Hz 左右生成事件,即使其非喚醒變體以 100Hz 激活也是如此。