BroadcastReceiver sur android.net.conn.CONNECTIVITY_CHANGE appelé plusieurs fois

J'ai de la suite dans mon manifeste

 <receiver android:name=".receiver.WifiReceiver" >
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
 </receiver>

et suivants BroadcastReceiver:

public class WifiReceiver extends BroadcastReceiver { 
private static String TAG = makeLogTag(WifiReceiver.class);

@Override
public void onReceive(Context context, Intent intent) {

    ConnectivityManager connectivityManager = (ConnectivityManager)
            context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = null;
    if (connectivityManager != null) {
        networkInfo =
                connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

        LOGD(TAG, "connectivity info:" + networkInfo);
    }

   if(networkInfo != null && networkInfo.isConnected()) {
       //TODO: see why this is called multiple times and handle schedule reloading
       LOGD(TAG, "have Wifi connection and is connected");
   }else
       LOGD(TAG, "don't have Wifi connect or it isn't connected");
}

Lorsque je change de mobile de wifi le récepteur appelé plusieurs fois (pas de problème) mais la
if(networkInfo != null && networkInfo.isConnected()) direction évalue à true, tous les 4 fois

OriginalL'auteur forcewill | 2013-10-06