Dans mon application j'ai un BroadcastReceiver qui est lancé comme un composant par l'intermédiaire d'une balise, le filtrage android.net.conn.CONNECTIVITY_CHANGE intentions.
Mon but est simplement de savoir quand une connexion Wifi a été créé, donc ce que je fais dans onReceive() est la suivante:
NetworkInfo networkInfo = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
if(networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) {
// Wifi is connected
}
Il fonctionne très bien, mais j'ai toujours l'impression d'avoir deux identiques intentions dans l'espace d'une seconde lorsque la connexion Wifi est établie. J'ai essayé de regarder les infos que j'ai pu obtenir à partir de l'intention, la ConnectivityManager et WifiManager, mais je ne peux pas trouver quelque chose qui distingue les deux modes.
En regardant le journal, il y a au moins un autre BroadcastReceiver qui reçoit également les deux identiques intentions.
Il est en cours d'exécution sur un HTC Desire avec Android 2.2
Aucune idée de pourquoi je semble pour obtenir un "doublé" intention lorsque le Wifi se connecte ou que la différence entre les deux peut être?