交流

Android アプリケーションの観点から見ると、すべての Android センサーは独立したエンティティです。つまり、異なるセンサー間の相互作用はありません。

  • これは、複数の Android センサーが同じ基盤となる物理センサーを共有している場合でも当てはまります。
  • 例:歩数計、重要な動き、加速度計はすべて同じ物理加速度計に依存しており、同時に動作できる必要があります。
  • これは、同じセンサーのウェイクアップ バージョンと非ウェイクアップ バージョンにも当てはまります。

Android センサーは、互いに独立して同時に動作できる必要があります。つまり、1 つの Android センサーに対するアクションは、他のセンサーの動作に影響を与えてはなりません。

具体的には、HAL レベルで:

  • センサーの起動
  • センサーの無効化
  • センサーのサンプリング周波数の変更
  • センサーの最大レポート遅延の変更

以下を引き起こすことはできません:

  • 別のアクティブ化されたセンサーが動作を停止する
  • サンプリング レートを変更する別のアクティブなセンサー
  • 別のアクティブ化されたセンサーにより、測定の品質が低下します
  • イベントの配信を開始する別のアクティブ化されていないセンサー

上記のアクションのいずれも、別のセンサーでのアクション (アクティブ化、非アクティブ化、およびパラメーターの変更) の成功を妨げることはできません。たとえば、歩数カウンターをアクティブにできるかどうかは、加速度計が現在アクティブになっているかどうかとは無関係でなければなりません。

もう 1 つの重要な例として、5Hz でアクティブ化されるウェイクアップ センサーは、その非ウェイクアップ バリアントが 100Hz でアクティブ化されている場合でも、約 5Hz でイベントを生成する必要があります。