การสแกนหาปริมาณการใช้เครือข่าย Wi-Fi ที่ต้องการ

การสแกน Wi-Fi Preferred Network Offload (PNO) คือการสแกน Wi-Fi พลังงานต่ำที่ จะเกิดขึ้นในช่วงเวลาที่สม่ำเสมอเมื่ออุปกรณ์ไม่ได้เชื่อมต่อกับ Wi-Fi และ หน้าจอปิดอยู่ ระบบใช้การสแกน PNO เพื่อค้นหาและ เชื่อมต่อกับเครือข่ายที่บันทึกไว้ การสแกนเหล่านี้ถูกกำหนดเวลาโดยเฟรมเวิร์กที่ใช้ คำสั่ง NL80211_CMD_START_SCHED_SCAN สำหรับข้อมูลเพิ่มเติม โปรดดู nl80211.h

เพิ่มประสิทธิภาพการใช้พลังงานด้วยข้อมูลการเคลื่อนที่ของอุปกรณ์

ในอุปกรณ์ที่ใช้ Android 9 หรือต่ำกว่า เมื่ออุปกรณ์ ไม่ได้เชื่อมต่อ Wi-Fi และหน้าจอปิดอยู่ การสแกน PNO จะเกิดขึ้นที่ 20 วินาที ช่วงเวลาในการสแกน 3 ครั้งแรก จากนั้นช้าลงเป็นการสแกน 1 ครั้งทุก 60 วินาที สำหรับการสแกนครั้งต่อๆ มาทั้งหมด การสแกน PNO จะหยุดเมื่อพบเครือข่ายที่บันทึกไว้ หรือ หน้าจอเปิดอยู่

Android 10 เปิดตัวเมธอด API ที่ไม่บังคับชื่อว่า setDeviceMobilityState() ใน WifiManager ที่เพิ่มช่วงเวลาระหว่าง การสแกน PNO ตามสถานะการเคลื่อนไหวของอุปกรณ์เพื่อลดการใช้พลังงาน

สถานะการเดินทางที่เป็นไปได้มีดังนี้

  • DEVICE_MOBILITY_STATE_UNKNOWN: ไม่ทราบการเคลื่อนไหว
  • DEVICE_MOBILITY_STATE_HIGH_MVMT: บนจักรยานหรือยานยนต์
  • DEVICE_MOBILITY_STATE_LOW_MVMT: เดินหรือวิ่ง
  • DEVICE_MOBILITY_STATE_STATIONARY: ไม่ย้าย

หากอุปกรณ์อยู่กับที่ เฟรมเวิร์กของ Android จะเพิ่ม ช่วงเวลาระหว่างการสแกน PNO ตั้งแต่ 60 วินาทีถึง 180 วินาทีเพื่อลดพลังงาน การบริโภค การเพิ่มประสิทธิภาพนี้สร้างขึ้นจากสมมติฐานที่ว่าอุปกรณ์ ไม่พบเครือข่ายใหม่ในการสแกน PNO เมื่ออุปกรณ์ไม่มีการเคลื่อนไหว

หากอุปกรณ์อยู่ในสถานะการเคลื่อนไหวอื่นๆ หรือหากไม่มีการเรียกใช้วิธีการ อุปกรณ์จะใช้ลักษณะการสแกน PNO เริ่มต้น

การใช้งาน

เพื่อใช้งานฟีเจอร์เพิ่มประสิทธิภาพการทำงานในอุปกรณ์ที่ใช้ Android 10 ขึ้นไป รับข้อมูลการเคลื่อนไหวของอุปกรณ์ และเรียกเมธอด setDeviceMobilityState() จากแอประบบที่กำหนดเอง