ConnectivityManager getActiveNetworkInfo exception de pointeur null

Je vois parfois exception de pointeur null dans le gestionnaire de connectivité. À partir de l'intention du service je vérifier l'état du réseau par isOnWIFI(ce). Exception se produit à la ligne cm.getActiveNetworkInfo(). C'est étrange car j'ai vérifier la valeur null avant de m'appeler.
Remarque: les Autorisations sont définies.

public static boolean isOnWIFI(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

        return cm != null
                //here occurs NullPointerException
                && cm.getActiveNetworkInfo() != null
                && ((cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI) != null && cm.getNetworkInfo(
                        ConnectivityManager.TYPE_WIFI).isConnected()));

}

Pensées, pourquoi est-ce arrivé? Je ne peux pas le corriger parce que c'est seulement occasionnel à partir des rapports de bugs. Seule solution que je vois est de le mettre en essayer bloc catch. Merci.

Les autorisations sont définies?
<uses-permission android:name="android.la permission.INTERNET" /> <uses-permission android:name="android.la permission.ACCESS_NETWORK_STATE" />
Je ne suis pas sûr, mais vous pouvez vérifier avec l'ajout d'un permission android.la permission.ACCESS_WIFI_STATE
Comme vous pouvez le voir, il ne parvient pas à cm.getActiveNetworkInfo(). Mon problème n'est pas que je ne peux pas vérifier wifi. Le problème est qu'il est parfois exception de pointeur null.
Avez-vous trouver une réponse à cela? J'obtiens le même problème et j'ai aussi un null vérifier. Chaque réponse que je vois sont totalement à côté de la question...

OriginalL'auteur vandzi | 2013-05-06