À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Recherche de points d'accès Wi-Fi pour le déchargement réseau préféré
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les analyses de transfert de réseau Wi-Fi préféré (PNO) sont des analyses Wi-Fi à faible consommation d'énergie qui se produisent à intervalles réguliers lorsqu'un appareil est déconnecté du Wi-Fi et que l'écran est éteint. Les analyses PNO permettent de trouver et de se connecter aux réseaux enregistrés. Ces analyses sont planifiées par le framework à l'aide de la commande NL80211_CMD_START_SCHED_SCAN
. Pour en savoir plus, consultez nl80211.h.
Sur les appareils équipés d'Android 9 ou version antérieure, lorsque l'appareil est déconnecté du Wi-Fi et que l'écran est éteint, les analyses PNO sont effectuées à intervalles de 20 secondes pour les trois premières analyses, puis ralentissent à une analyse toutes les 60 secondes pour toutes les analyses suivantes. La recherche PNO s'arrête lorsqu'un réseau enregistré est détecté ou lorsque l'écran est allumé.
Android 10 introduit une méthode d'API facultative appelée setDeviceMobilityState()
dans WifiManager
, qui augmente l'intervalle entre les analyses PNO en fonction de l'état de mobilité de l'appareil pour réduire la consommation d'énergie.
Les états de mobilité possibles sont les suivants:
DEVICE_MOBILITY_STATE_UNKNOWN
: mobilité inconnue
DEVICE_MOBILITY_STATE_HIGH_MVMT
: à vélo ou dans un véhicule motorisé
DEVICE_MOBILITY_STATE_LOW_MVMT
: Marcher ou courir
DEVICE_MOBILITY_STATE_STATIONARY
: pas de mouvement
Si l'appareil est à l'arrêt, le framework Android augmente l'intervalle entre les analyses PNO de 60 secondes à 180 secondes pour réduire la consommation d'énergie. Cette optimisation est basée sur l'hypothèse que l'appareil est peu susceptible de trouver de nouveaux réseaux lors des analyses PNO lorsqu'il est immobile.
Si l'appareil est dans un autre état de mobilité ou si la méthode n'est pas appelée, il utilise le comportement de numérisation PNO par défaut.
Implémentation
Pour implémenter cette fonctionnalité d'optimisation de l'alimentation sur un appareil équipé d'Android 10 ou version ultérieure, dérivez les informations de mobilité de l'appareil et appelez la méthode setDeviceMobilityState()
à partir d'une application système personnalisée.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]