PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → WiFiInfoConnexion
WiFiInfoConnexion
Débuté par Lise, 16 mar. 2023 16:59 - 5 réponses
Posté le 16 mars 2023 - 16:59
Bonjour à tous,

je cherche à obtenir des infos sur la qualité de ma connexion Wifi sur un appareil Android, je suis en version 26 de Windev mobile, j'ai ajouté les permissions requises décrites dans la doc pour utiliser la fonction WiFiInfoConnexion mais la chaine renvoyée est vide systématiquement lorsque j'utilise cette fonction alors que je suis bien connectée au Wifi au moment où je fais le demande d'info.
Quelqu'un a déjà été confronté à ce problème ?
Merci.
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 17 mars 2023 - 09:31
Salut @Lise,
As tu utilisé un SI WiFiEtat avant ?
Et quel est ta version d'Android car a partir de la 10 il faut faire des demandes explicites
A l'utilisateur en plus de les mettre dans le manifeste
Donc la fonction PermissionDemande doit être utilisé.
Posté le 17 mars 2023 - 09:42
Bonjour @Popoy,

oui j'utilise bien WifiEtat avant et il me renvoie bien 1,
effectivement je suis en Android 10 ,j'ai bien rajouté les demandes dans la génération de l'apk :
android.permission.ACCESS_BACKGROUND_LOCATION
Permet à une application en arrière plan d'accéder à un emplacement (Cell-ID, WiFi, GPS)
android.permission.ACCESS_COARSE_LOCATION
Permet à une application d'accéder à un emplacement indéfini (Cell-ID, WiFi).
android.permission.ACCESS_NETWORK_STATE
Permet aux applications d'accéder à des informations concernant les réseaux.
android.permission.ACCESS_WIFI_STATE
Permet aux applications d'accéder à des informations concernant les réseaux Wi-Fi.
android.permission.INTERNET
Permet aux applications d'ouvrir des sockets réseau.
android.permission.RECEIVE_BOOT_COMPLETED
Permet à une application de recevoir le ACTION_BOOT_COMPLETED qui est diffusé lorsque le système a terminé le démarrage.
android.permission.WRITE_EXTERNAL_STORAGE
Permet à une application d'écrire sur un stockage externe (carte mémoire, ...).

Dans le code d'un bouton j'ai :
PermissionDemande(permLocalisationEnArrièrePlan, Callback)
PROCÉDURE INTERNE Callback(p est une Permission)
SI p.Accordé ALORS
// Utilisation possible des fonctions nécessitant la localisation en arrière-plan
SI WiFiEtat() = wifiActif ALORS
Info(ChaîneConstruit("Votre vitesse de connexion actuelle est de %1 Mbps",WiFiInfoConnexion(wifiVitesse)))
Info(WiFiEtat()+" / "+WiFiInfoConnexion(wifiTout))
SI ErreurDétectée ALORS
ErreurInfo(errComplet)
FIN
SINON
Info("le wifi n'est pas actif")
FIN



FIN
FIN

au premier lancement de l'application, l'appareil me demande bien d'autoriser les fonctions nécéssaires mais lorsque je fais
Info(ChaîneConstruit("Votre vitesse de connexion actuelle est de %1 Mbps",WiFiInfoConnexion(wifiVitesse)))
Mon %1 est une chaine vide...
Posté le 17 mars 2023 - 10:18
Pour info, la fonction WiFiDétectePointAccès ne fonctionne pas non plus, je dois vraiment avoir un soucis sur les autorisations de l'application mais je ne vois pas où...
Posté le 17 mars 2023 - 10:54
Bon, je me répond à moi-même si ça peut aider qqn...
il me manquait l'autorisation ACCESS_FINE_LOCATION !!!
Membre enregistré
3 344 messages
Popularité : +93 (137 votes)
Posté le 17 mars 2023 - 12:03
Merci Lise de ton retour
En effet, on ne s'attend pas à avoir besoin de
ACCESS_FINE_LOCATION pour une utilisation du Wifi.