การสแกน 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()
จากแอประบบที่กำหนดเอง