Comment oublier un réseau sans fil pour android par programmation?
Je suis en train de travailler sur une application qui wifi , où l'utilisateur sera invité à entrer le mot de passe à la numérisation réseau, il sélectionne, si l'utilisateur entre un mot de passe correct, il se connecte et fonctionne bien. Mais lorsque l'utilisateur entre un mot de passe erroné, un nouveau réseau est ajouté à ce nom, et sera à défaut d'authentifier cos de mauvais mot de passe, et il va avoir de problème d'authentification d'état.
Maintenant, si l'utilisateur tente à nouveau de numériser et sélectionnez le même réseau, et entre le mot de passe correct, il ne parvient pas à se connecter même si le mot de passe est correct et aura état désactivé, depuis la dernière connexion est toujours montrant que le problème de l'authentification d'état.
Comment résoudre ce problème?
Est-il possible d'oublier tous les réseaux à l'aide de ConnectivityManager ou wifimanager? Ou toute autre solution?
- Passez par ce lien pour plus de détails stackoverflow.com/a/51081719/7094064
Vous devez vous connecter pour publier un commentaire.
La
WifiManager
code source, a cette méthode:Mais cette méthode est
@hide
, on ne peut donc pas l'utiliser. Mais selon ce commentaire:Vous pouvez essayer d'utiliser:
removeNetwork()
etsaveConfiguration()
à la place.Oui,
removeNetwork()
œuvres. J'ai utilisé cette option pour supprimer tous les réseaux.wifiManager.saveConfiguration()
Cette méthode est dépréciée de l'API de niveau 26. Il n'est pas nécessaire d'appeler
cette méthode - addNetwork(WifiConfiguration),
updateNetwork(WifiConfiguration) et removeNetwork(int) déjà persistent
les configurations automatiquement.
https://developer.android.com/reference/android/net/wifi/WifiManager.html#saveConfiguration()
Vous pouvez utiliser le
removeNetwork()
méthode pour supprimer les connexions réseau redondantes(mais j'ai un doute si ils ont le mêmenetId
) puis ajouter la connexion fraîchement éviter le problème que vous rencontrez.removeNetwork()
🙂est deprectated Android, M. N'avez plus besoin d'appeler saveConfiguration comme removeNetwork(int) déjà persistent les configurations automatiquement.
https://developer.android.com/reference/android/net/wifi/WifiManager.html#saveConfiguration()
Ce faisant, il est possible d'obtenir la liste des réseaux configurés dans une liste, puis de procéder immédiatement à la suppression et l'enregistrer.
vous avez besoin spécifiquement la permission.