3

我正在使用以下功能检查网络连接,但交换 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;
}
4

2 回答 2

1

在网络之间切换需要一些时间...

所以现在如果我们禁用wifi,它会在几秒钟后自动连接到移动网络......如果我们启用wifi,那么它会再次连接到wifi网络......

您的应用程序中的线程正在检查该班次之前的连接性......

在这里查看对话

Android:如何以编程方式启用/禁用 Wifi 或 Internet 连接

于 2011-02-17T13:10:39.460 回答
1

你错过了 NullPointerException 吗?

我使用以下方法:

public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    try {
        return cm.getActiveNetworkInfo().isConnectedOrConnecting();
    } catch(NullPointerException n) {
        return false;
    }
}
于 2011-02-17T15:15:43.110 回答