البحث عن شبكة Wi-Fi المفضّلة لنقل البيانات

عمليات البحث عن شبكات Wi-Fi المفضّلة (PNO) هي عمليات بحث منخفضة الطاقة عن شبكات Wi-Fi تحدث على فترات منتظمة عندما يكون الجهاز غير متصل بشبكة Wi-Fi وتكون الشاشة مطفأة. تُستخدَم عمليات البحث عن شبكات Wi-Fi المفضّلة للعثور على الشبكات المحفوظة والاتصال بها. يتم تحديد مواعيد عمليات الفحص هذه من خلال إطار العمل باستخدام الأمر NL80211_CMD_START_SCHED_SCAN. لمزيد من المعلومات، يُرجى الاطّلاع على nl80211.h.

تحسين استخدام الطاقة من خلال معلومات تنقّل الجهاز

على الأجهزة التي تعمل بالإصدار 9 من نظام التشغيل Android أو الإصدارات الأقدم، عندما يكون الجهاز غير متصل بشبكة Wi-Fi وتكون الشاشة مطفأة، يتم إجراء عمليات فحص PNO كل 20 ثانية في عمليات الفحص الثلاث الأولى، ثم يتم إبطاء وتيرة عمليات الفحص إلى عملية فحص واحدة كل 60 ثانية في جميع عمليات الفحص اللاحقة. يتوقّف البحث عن شبكات غير معروفة (PNO) عند العثور على شبكة محفوظة أو عند تشغيل الشاشة.

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

حالات التنقّل المحتملة هي:

  • DEVICE_MOBILITY_STATE_UNKNOWN: التنقل غير معروف
  • DEVICE_MOBILITY_STATE_HIGH_MVMT: على دراجة أو في مركبة آلية
  • DEVICE_MOBILITY_STATE_LOW_MVMT: المشي أو الركض
  • DEVICE_MOBILITY_STATE_STATIONARY: عدم التحرك

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

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

التنفيذ

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