Vous voulez
<intent-filter>
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>
</intent-filter>
Dans votre balise de récepteur.
Ou si vous voulez plus de contrôle sur elle, avant de vous inscrire BroadcastReceiver configurer ces:
final IntentFilter filters = new IntentFilter();
filters.addAction("android.net.wifi.WIFI_STATE_CHANGED");
filters.addAction("android.net.wifi.STATE_CHANGE");
super.registerReceiver(yourReceiver, filters);
WIFI_STATE_CHANGED
une action intention de diffusion indiquant qui a été activé Wi-Fi, les personnes handicapées, ce qui permet, désactivant, ou inconnu. Un extra fournit cet état en tant qu'int. Un autre extra fournit l'état précédent, si disponible.
STATE_CHANGE
une action de diffusion intention indiquant que l'état de la connectivité Wi-Fi a changé. Un supplémentaire fournit le nouvel état sous la forme d'un objet NetworkInfo. Si le nouvel état est CONNECTED, des extras supplémentaires peuvent fournir le BSSID et le WifiInfo du point d'accès. en tant que chaîne
En outre, vous devrez spécifier les autorisations à l'intérieur tag « manifeste »:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Pour vérifier la connectivité, vous pouvez utiliser ConnectivityManager comme il vous indique quel type de connexion est disponible.
ConnectivityManager conMngr = (ConnectivityManager)this.getSystemService(this.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = conMngr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = conMngr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
Peut-on ajouter également un récepteur de radiodiffusion pour vérifier la connexion de données? – tasomaniac
Pourriez-vous être un peu plus précis ... – nullpotent
Je pense que cela ne nous donne que les changements de connexion dans l'adaptateur WIFI. Je veux être informé lorsque la connexion de données mobiles a changé. – tasomaniac