【问题标题】:How to check if Internet is active with wifi network connected in android如何通过在android中连接的wifi网络检查Internet是否处于活动状态
【发布时间】:2012-09-03 00:44:07
【问题描述】:

如何在android中连接的WiFi网络上自动检查互联网是否处于活动状态?我可以检查是否启用了 wifi 或是否连接了 wifi 网络,但我不确定如何检查互联网是否已连接?这可能吗?

private boolean connectionAvailable() 
{
    boolean connected = false;
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
        //we are connected to a network
        connected = true;
    }
    return connected;
}

以上检查是否启用了 wifi/wifi 已连接但未连接互联网。

【问题讨论】:

标签: android wifi


【解决方案1】:
public boolean isOnline() {
    ConnectivityManager cm =
        (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    }
    return false;
}

【讨论】:

  • 谢谢图加。我将平板电脑连接到我的路由器,它可以提供 IP 地址,但没有互联网连接到路由器。我可以看到上面的代码给出了 true 而不是给出了 false。所以我正在寻找一种方法来检查是否有互联网,而不是检查 wifi 是否连接到路由器。
【解决方案2】:

如果您想检查您的设备是否与 wifi 连接,请使用此方法。

    public static boolean isInternetConnected(Context context) {
    ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mnetwork = connManager.getActiveNetworkInfo();
    return mnetwork != null && mnetwork.isConnected();
}

如果您想检查您的设备是否与移动网络连接,请使用此方法。

public static boolean isMobileInternetConnected(Context context) {
        ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo mNetwork = connManager.getActiveNetworkInfo();
        return mNetwork != null && mNetwork.isConnected() && mNetwork.getType() == ConnectivityManager.TYPE_MOBILE;
    }

注意:不要忘记添加权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2013-04-06
    相关资源
    最近更新 更多