التفاعل

من وجهة نظر تطبيقات Android، يمثّل كل جهاز استشعار Android كيانًا مستقلاً، ما يعني عدم حدوث أي تفاعل بين مختلف أجهزة الاستشعار.

  • وينطبق ذلك حتى إذا كانت عدة أدوات استشعار Android تتشارك أداة الاستشعار الأساسية نفسها.
  • على سبيل المثال، يجب أن يكون بإمكان عداد الخطوات والحركة الكبيرة ومقياس التسارع، الذين يعتمدون جميعًا على مقياس التسارع المادي نفسه، العمل بشكل متزامن.
  • وينطبق ذلك أيضًا على إصدارات الاستيقاظ وغير الاستيقاظ من أداة الاستشعار نفسها.

يجب أن تكون أدوات استشعار Android قادرة على العمل بشكلٍ متزامن ومستقل عن بعضها البعض. وهذا يعني أنّ أي إجراء على أحد أجهزة استشعار Android يجب ألا يؤثر في سلوك أجهزة الاستشعار الأخرى.

على وجه التحديد، على مستوى HAL:

  • تفعيل أداة استشعار
  • إيقاف أداة استشعار
  • تغيير معدّل أخذ العينات لأحد أجهزة الاستشعار
  • تغيير الحد الأقصى لمُدد الاستجابة في الإبلاغ عن بيانات أحد أجهزة الاستشعار

لا يمكن أن تؤدي إلى:

  • أداة استشعار أخرى مفعَّلة لتوقّف عن العمل
  • جهاز استشعار آخر مفعَّل لتغيير معدّل أخذ العينات
  • أداة استشعار أخرى مفعَّلة لخفض جودة قياساتها
  • أداة استشعار أخرى غير مفعّلة لبدء إرسال الأحداث

ولا يمكن لأي من الإجراءات المذكورة أعلاه منع نجاح الإجراءات (التفعيل والإيقاف وتغيير المَعلمات) على أداة استشعار أخرى. على سبيل المثال، يجب أن يكون بإمكاننا تفعيل عداد الخطوات بغض النظر عمّا إذا كان مقياس التسارع مفعّلاً حاليًا.

في مثال مهم آخر، يجب أن يُنشئ أداة استشعار الاستيقاظ التي يتم تفعيلها بمعدّل 5 هرتز أحداثًا بمعدّل 5 هرتز تقريبًا، حتى إذا تم تفعيل أداة الاستشعار غير المخصّصة للاستيقاظ بمعدّل 100 هرتز.