A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release
en lugar de aosp-main
para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Análisis de aligeramiento de red Wi-Fi preferido
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Los análisis de aligeramiento de red preferido (PNO) de Wi-Fi son análisis de Wi-Fi de baja potencia que se realizan a intervalos regulares cuando un dispositivo se desconecta de Wi-Fi y la pantalla está apagada. Los análisis de PNO se usan para encontrar redes guardadas y conectarse a ellas. El framework programa estos análisis con el comando NL80211_CMD_START_SCHED_SCAN
. Para obtener más información, consulta nl80211.h.
En dispositivos con Android 9 o versiones anteriores, cuando el dispositivo se desconecta de Wi-Fi y la pantalla está apagada, las búsquedas de PNO se realizan en intervalos de 20 segundos para las primeras tres búsquedas y, luego, se ralentizan a una búsqueda cada 60 segundos para todas las búsquedas posteriores. El escaneo de PNO se detiene cuando se encuentra una red guardada o se enciende la pantalla.
Android 10 introduce un método opcional de API llamado setDeviceMobilityState()
en WifiManager
que aumenta el intervalo entre análisis de PNO según el estado de movilidad del dispositivo para reducir el consumo de energía.
Estos son los estados de movilidad posibles:
DEVICE_MOBILITY_STATE_UNKNOWN
: Mobilidad desconocida
DEVICE_MOBILITY_STATE_HIGH_MVMT
:
En bicicleta o en un vehículo de motor
DEVICE_MOBILITY_STATE_LOW_MVMT
: caminar o correr
DEVICE_MOBILITY_STATE_STATIONARY
:
No se mueve
Si el dispositivo está inmóvil, el framework de Android aumenta el intervalo entre análisis de PNO de 60 a 180 segundos para reducir el consumo de energía. Esta optimización se realiza con la suposición de que es poco probable que el dispositivo encuentre redes nuevas en los análisis de PNO cuando no se está moviendo.
Si el dispositivo está en cualquier otro estado de movilidad o si no se llama al método, este usa el comportamiento de escaneo de PNO predeterminado.
Implementación
Para implementar esta función de optimización de energía en un dispositivo que ejecuta Android 10 o versiones posteriores, deriva la información de movilidad del dispositivo y llama al método setDeviceMobilityState()
desde una app del sistema personalizada.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Wi-Fi preferred network offload scanning\n\nWi-Fi preferred network offload (PNO) scans are low-powered Wi-Fi scans that\noccur at regular intervals when a device is disconnected from Wi-Fi and the\nscreen is off. PNO scans are used to find and\nconnect to saved networks. These scans are scheduled by the framework using the\n`NL80211_CMD_START_SCHED_SCAN` command. For more information, see\n[nl80211.h](https://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless.git/tree/include/uapi/linux/nl80211.h).\n\nOptimize power usage with device mobility information\n-----------------------------------------------------\n\nOn devices running Android 9 or lower, when the device\nis disconnected from Wi-Fi and the screen is off, PNO scans occur at 20 second\nintervals for the first three scans, then slow down to one scan every 60 seconds\nfor all subsequent scans. PNO scanning stops when a saved network is found or\nthe screen is turned on.\n\nAndroid 10 introduces an optional API method named\n[`setDeviceMobilityState()`](https://cs.android.com/android/platform/superproject/+/android-latest-release:packages/modules/Wifi/framework/java/android/net/wifi/WifiManager.java?q=func:setDeviceMobilityState)\nin `WifiManager` that increases the interval between\nPNO scans based on the device's mobility state to reduce power consumption.\n\nThe possible mobility states are:\n\n- `DEVICE_MOBILITY_STATE_UNKNOWN`: Unknown mobility\n- `DEVICE_MOBILITY_STATE_HIGH_MVMT`: On a bike or in a motor vehicle\n- `DEVICE_MOBILITY_STATE_LOW_MVMT`: Walking or running\n- `DEVICE_MOBILITY_STATE_STATIONARY`: Not moving\n\nIf the device is stationary, the Android framework increases the\ninterval between PNO scans from 60 seconds to 180 seconds to reduce power\nconsumption. This optimization is made on the assumption that the device is\nunlikely to find any new networks in PNO scans when the device is not moving.\n\nIf the device is in any other mobility state or if the method isn't called, the\ndevice uses the default PNO scan behavior.\n\n### Implementation\n\nTo implement this power-optimizing feature on a device running Android\n10 or higher, derive the device mobility information\nand call the `setDeviceMobilityState()` method from a custom system app."]]