我正在使用以下功能检查网络连接,但是当交换wifi状态时应用程序崩溃
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;
}
答案 0 :(得分:1)
在网络之间转换需要一些时间......
所以现在,如果我们禁用wifi,它会在几秒后自动连接到移动网络..如果我们启用了wifi,那么它再次连接到wifi网络......
应用程序中的线程正在检查转移之前的连接...
查看此处的对话
Android: How to Enable/Disable Wifi or Internet Connection Programmatically
答案 1 :(得分:1)
您是否错过了NullPointerException?
我使用以下方法:
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
try {
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
} catch(NullPointerException n) {
return false;
}
}