סריקת רשת מועדפת לרשת Wi-Fi

סריקות Wi-Fi מועדפות לרשת Wi-Fi (PNO) הן סריקות Wi-Fi בעלות עוצמה נמוכה המתרחשות במרווחי זמן קבועים כאשר מכשיר מנותק מ-Wi-Fi והמסך כבוי. סריקות PNO משמשות לאיתור וחיבור לרשתות שמורות. סריקות אלו מתוזמנות על ידי המסגרת באמצעות הפקודה NL80211_CMD_START_SCHED_SCAN . למידע נוסף, ראה nl80211.h .

אופטימיזציה של צריכת החשמל עם מידע ניידות המכשיר

במכשירים שבהם פועל אנדרואיד 9 ומטה, כאשר המכשיר מנותק מ-Wi-Fi והמסך כבוי, סריקות PNO מתרחשות במרווחים של 20 שניות עבור שלוש הסריקות הראשונות, ולאחר מכן האטה לסריקה אחת כל 60 שניות עבור כל הסריקות הבאות. סריקת PNO מפסיקה כאשר מוצאים רשת שמורה או שהמסך מופעל.

אנדרואיד 10 מציגה שיטת API אופציונלית בשם setDeviceMobilityState() ב- WifiManager שמגדילה את המרווח בין סריקות PNO בהתבסס על מצב הניידות של המכשיר כדי להפחית את צריכת החשמל.

מצבי הניידות האפשריים הם:

  • DEVICE_MOBILITY_STATE_UNKNOWN : ניידות לא ידועה
  • DEVICE_MOBILITY_STATE_HIGH_MVMT : על אופניים או ברכב מנועי
  • DEVICE_MOBILITY_STATE_LOW_MVMT : הליכה או ריצה
  • DEVICE_MOBILITY_STATE_STATIONARY : לא זז

אם המכשיר נייח, מסגרת האנדרואיד מגדילה את המרווח בין סריקות PNO מ-60 שניות ל-180 שניות כדי להפחית את צריכת החשמל. אופטימיזציה זו מתבצעת בהנחה שהמכשיר לא סביר למצוא רשתות חדשות בסריקות PNO כאשר המכשיר אינו זז.

אם המכשיר נמצא בכל מצב ניידות אחר או אם השיטה לא נקראת, המכשיר משתמש בהתנהגות סריקת PNO המוגדרת כברירת מחדל.

יישום

כדי ליישם תכונה זו של אופטימיזציה של צריכת חשמל במכשיר עם אנדרואיד 10 ומעלה, הפק את מידע ניידות המכשיר וקרא לשיטת setDeviceMobilityState() מאפליקציית מערכת מותאמת אישית.