Aller au contenu

Connexion à une point d'accès depuis une application android


walslayer

Recommended Posts

Bonsoir à tous et à toutes. Tout d'abord je vous souhaite une très bonne année 2012.

Je viens sur ce forum car je n'ai pas trouvé la réponse à mon problème sur internet ou autres forums.

Je développe actuellement une application android utilisant un point d'accès internet.

J'aimerai pouvoir me connecter directement à ce point d'accès dans l'application.

Je parviens à activer le wifi et récupérer les SSID aux alentours (puis je les affiches en liste sélectionnable), mais je ne parviens pas à me connecter à un réseau.

Par exemple si je sélectionne un réseau j'aimerai me connecter dessus (sans passer pas le paramètrage par défaut du smartphone).

J'ai fait pas mal de recherches, certains disent qu'il faut pré-enregistrer le réseau et ensuite le smartphone se connecte tout seul.

J'espère que vous avez compris mon problème. Je vous remercie d'avance.

Bien cordialement.

Lien vers le commentaire
Partager sur d’autres sites

Le développeur de ce site me parait savoir faire......http://tuto.vdlys.com/ regarde ce qu'il fait et entre en contact avec lui.... tu verras bien.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour merci pour l'info, mais ça a l'air d'être une société de développement android (commerciale ?). Néanmoins j'ai trouvé la solution à mon problème. Je le poste car cela peut toujours servir à une âme désespérée.

Attention, ceci est pour un réseau dit OPEN. Pour les réseaux crypté voir :

http://developer.android.com/reference/android/net/wifi/WifiConfiguration.html

public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

/*
 * Configuration des propriétés du réseau à utiliser
 */
WifiConfiguration wifiConfig = new WifiConfiguration();
	  wifiConfig.SSID = "\"".concat(listeWifiItem.get(position).getAPName()).concat("\""); // ne pas oublier les anti-slash
	  wifiConfig.hiddenSSID = true;
	  wifiConfig.priority = 40;
	  wifiConfig.status = WifiConfiguration.Status.DISABLED;
	  wifiConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
	  wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.RSN);
	  wifiConfig.allowedProtocols.set(WifiConfiguration.Protocol.WPA);
	  wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.OPEN);
	  wifiConfig.allowedAuthAlgorithms.set(WifiConfiguration.AuthAlgorithm.SHARED);
	  wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.CCMP);
	  wifiConfig.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.TKIP);
	  wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.TKIP);
	  wifiConfig.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.CCMP);

   int net = wifiManager.addNetwork(wifiConfig);
   boolean b = wifiManager.enableNetwork(net,true);
	  // condition si nous avons pu nous connecter au réseau voulu
	 if(B){
	  Toast.makeText(getApplicationContext(), "Connexion réussie ",Toast.LENGTH_SHORT).show();
	 }else
	 {
	  Toast.makeText(getApplicationContext(), "Connexion échouée ",Toast.LENGTH_SHORT).show();
	 }
   }
  });

Bien évidemment il n'y a pas tout le code pour afficher les réseaux sélectionnables aux alentours mais si vous connaissez déja le nom de votre point d'accès, vous pouvez utiliser ce code.

Cordialement

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...