当第一个网络关闭然后再打开时 Android 应用程序崩溃

发布于 2024-10-18 03:42:15 字数 423 浏览 2 评论 0原文

我正在使用以下函数来检查网络连接,但是当 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;
}

I am using the following function to check network connectivity but application crashes when wifi status is swapped

    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;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

守不住的情 2024-10-25 03:42:15

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

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

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

检查此处的对话

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

it took some time to shift between networks...

So Now if we disable the wifi it automatically get connected to mobile network after few seconds.. and if we enable the wifi then it get connected to wifi network again...

The thread in your application is checking the connectivity before that shift...

check the conversation here

Android: How to Enable/Disable Wifi or Internet Connection Programmatically

埋情葬爱 2024-10-25 03:42:15

您是否缺少 NullPointerException?

我使用以下方法:

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

Are you missing a NullPointerException?

I use the following method:

public boolean isOnline() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    try {
        return cm.getActiveNetworkInfo().isConnectedOrConnecting();
    } catch(NullPointerException n) {
        return false;
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文