عمليات البحث عن شبكات Wi-Fi المفضّلة (PNO) هي عمليات بحث عن شبكات Wi-Fi منخفضة الطاقة تحدث على فترات منتظمة عندما يكون الجهاز غير متصل بشبكة Wi-Fi وتكون الشاشة مطفأة. تُستخدَم عمليات البحث عن شبكات Wi-Fi المفضّلة للعثور على الشبكات المحفوظة والاتصال بها. يتم تحديد مواعيد عمليات الفحص هذه من خلال إطار العمل باستخدام الأمر NL80211_CMD_START_SCHED_SCAN. لمزيد من المعلومات، يُرجى الاطّلاع على
nl80211.h.
تحسين استخدام الطاقة من خلال معلومات تنقّل الجهاز
على الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android أو الإصدارات الأقدم، عندما يكون الجهاز غير متصل بشبكة Wi-Fi وتكون الشاشة مطفأة، يتم إجراء عمليات البحث عن الشبكات المفضّلة تلقائيًا على فترات زمنية تبلغ 20 ثانية لعمليات البحث الثلاث الأولى، ثم يتم إبطاء وتيرة البحث إلى عملية بحث واحدة كل 60 ثانية لجميع عمليات البحث اللاحقة. يتوقّف البحث عن شبكات غير معروفة عند العثور على شبكة محفوظة أو عند تشغيل الشاشة.
يقدّم نظام التشغيل Android 10 طريقة اختيارية في واجهة برمجة التطبيقات باسم
setDeviceMobilityState()
في WifiManager تزيد الفاصل الزمني بين عمليات البحث عن الشبكات المفضّلة غير المعروفة (PNO) استنادًا إلى حالة التنقّل بالجهاز لتقليل استهلاك الطاقة.
حالات التنقّل المحتملة هي:
DEVICE_MOBILITY_STATE_UNKNOWN: حالة تنقّل غير معروفةDEVICE_MOBILITY_STATE_HIGH_MVMT: على دراجة أو في مركبة آلية-
DEVICE_MOBILITY_STATE_LOW_MVMT: المشي أو الركض -
DEVICE_MOBILITY_STATE_STATIONARY: لا تتحرّك
إذا كان الجهاز ثابتًا، يزيد إطار عمل Android الفاصل الزمني بين عمليات البحث عن الشبكات المفضّلة من 60 ثانية إلى 180 ثانية لتقليل استهلاك الطاقة. يتم إجراء هذا التحسين على افتراض أنّه من غير المحتمل أن يعثر الجهاز على أي شبكات جديدة في عمليات فحص PNO عندما لا يكون الجهاز متحركًا.
إذا كان الجهاز في أي حالة تنقّل أخرى أو إذا لم يتم استدعاء الطريقة، سيستخدم الجهاز السلوك التلقائي للمسح الضوئي في وضع PNO.
التنفيذ
لتنفيذ ميزة تحسين استهلاك الطاقة هذه على جهاز يعمل بالإصدار 10 من نظام التشغيل Android أو إصدار أحدث، يجب استخلاص معلومات تنقّل الجهاز واستدعاء الطريقة setDeviceMobilityState() من تطبيق نظام مخصّص.