Android アプリの観点からは、すべての Android センサーは独立したエンティティであるため、異なるセンサー間でインタラクションは発生しません。
- このことは、複数の Android センサーが同じ基盤となる物理センサーを共有している場合でも当てはまります。
- たとえば、すべて同じ物理加速度計に依存している歩数計、大型モーション センサー、加速度計は、同時に動作できる必要があります。
- 同じセンサーのウェイクアップ バージョンと非ウェイクアップ バージョンについても同じことが言えます。
Android センサーは、互いに独立して同時に動作できる必要があります。つまり、ある Android センサー上の操作は、他のセンサーの動作には影響を与えることができません。
具体的には、HAL レベルでは次のようになります。
- センサーを有効化する
- センサーを無効化する
- センサーのサンプリング周波数を変更する
- センサーの最大レポート レイテンシを変更する
次の動作はできません。
- 他の有効なセンサーの動作を停止させる
- 他の有効なセンサーにサンプリング レートを変更させる
- 他の有効なセンサーに測定値の品質を下げさせる
- 他の有効でないセンサーを有効にしてイベントを送信させる
上記のアクションのいずれも、他のセンサーでの正常なアクション(有効化、非無効化、パラメータの変更)を妨げることはできません。たとえば、歩数カウンタを有効にできるかどうかは、加速度計が現在有効になっているかどうかとは無関係です。
もう 1 つの重要な例は、5 Hz の周波数で有効化されたウェイクアップ センサーは、非ウェイクアップ バリエーションが 100 Hz の周波数で有効化されている場合でも、約 5 Hz の周波数でイベントを生成する必要があることです。