2011-02-17 93 views
3

交换我使用下面的函数来检查网络连接,但应用程序崩溃时,无线状态被换Android应用程序崩溃的

public static boolean isNetworkAvailable(Context context) { 
    ConnectivityManager connec = (ConnectivityManager) context 
    .getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo netInfo = connec.getActiveNetworkInfo(); 

    if (netInfo != null && netInfo.isConnected() == true) { 
     return true; 
    } 
    return false; 
} 
+1

你能提供你的错误? – WarrenFaith 2011-02-17 12:59:10

+0

发布堆栈跟踪。如果您没有连接到网络,NetworkInfo会抛出一个异常(您没有捕捉到),这似乎是合理的。 – 2011-02-17 13:03:34

+0

如果在您的应用处于执行网络操作的过程中WiFi状态发生更改,您的应用会崩溃吗?或者,如果WiFi状态发生变化,您*然后*运行您的应用程序,它会崩溃吗? – 2011-02-17 13:11:27

回答

1

是否缺少一个NullPointerException?

我用下面的方法:

public boolean isOnline() { 
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    try { 
     return cm.getActiveNetworkInfo().isConnectedOrConnecting(); 
    } catch(NullPointerException n) { 
     return false; 
    } 
}