ANDROID: si le WiFi est activé ET actif, le lancement d'une intention

C'est ce que je voudrais faire :

=> SI le WiFi est activé ET actif, le lancement d'une intention (c'est en fait une WebView qui obtient son contenu=>les instructions de mon application sur le web)

=> SI NON, alors je voudrais lancer une autre intention, de sorte que je ne montre pas une WebView avec "page Web non disponible ... La page Web à l' http://www.mywebsite.com peut-être temporairement indisponible ou il peut avoir déplacé ..."

J'ai enseigné d'abord à utiliser

si(wi-fi.isWifiEnabled())

mais cela ne dit pas si la connexion Wifi est ACTIVE ou non. Il dit seulement que l'utilisateur a tourné le commutateur sur. L'appareil peut ou peut ne pas être connecté... Est-ce correct ?

Puis j'ai essayé d'utiliser :

si (wi-fi.getConnectionInfo().getSSID()!= null)

mais j'ai remarqué qu'il retourne une chaîne de caractères, même si la connexion a été perdue ou a été désactivée ... ?

Comment dois-je faire alors ?

wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
Intent intent_instructions;

            if (wifi.getConnectionInfo().getSSID()!= null){
                Log.i("Hub", "WiFi is enabled AND active !");
                Log.i("Hub", "SSID = "+wifi.getConnectionInfo().getSSID());
                intent_instructions = new Intent(this, Instructions.class);
            }else{
                Log.i("Hub", "NO WiFi");
                intent_instructions = new Intent(this, Instructions_No_WiFi.class);
            }
            this.startActivity(intent_instructions);

Est-il une façon plus générale pour tester si l'appareil dispose de la connectivité à l'internet, juste avant le lancement d'une intention ? soit par Wifi, 3G, etc ...

Merci d'avance pour votre aide.

InformationsquelleAutor Hubert | 2009-11-28