【问题标题】:How do I check if my device is connected to Wi-Fi or not on Android? [duplicate]如何在 Android 上检查我的设备是否已连接到 Wi-Fi? [复制]
【发布时间】:2013-08-16 09:20:13
【问题描述】:

如何在 Android 上获得连接可用或不可用?

我尝试了很多代码,但没有得到正确的结果。

【问题讨论】:

标签: android


【解决方案1】:

如果您尝试检查 Internet 连接,请使用以下命令:

public boolean isNetworkAvailable() {
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = cm.getActiveNetworkInfo();

    // If no network is available networkInfo will be null,
    // otherwise check if we are connected.
    if (networkInfo != null && networkInfo.isConnected()) {
        return true;
    }
    return false;
}

【讨论】:

  • 您应该提供链接并停止这种重复相同问题的行为,而不是给出答案
  • 我试过这个 public boolean WifiConnected() { ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); return (networkInfo != null && networkInfo.isConnected()); } 但它总是返回 false
  • 您是否在清单文件中添加了 android.permission.ACCESS_NETWORK_STATE 的权限?也适用于
  • 也添加了这些权限但是如果它连接了总是给我错误的值然后也给我错误
  • 你是怎么检查这个的??
【解决方案2】:

也许这会有所帮助:

 ConnectivityManager conn = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = conn.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (wifi.isConnected()) {
    // Do your code
}

而且你还需要在 AndroidManifest.xml 中添加:

android.permission.ACCESS_NETWORK_STATE

此链接也将有所帮助:

NetworkInfo

【讨论】:

  • 与其给出答案,不如给出链接并停止这种重复相同问题的行为
【解决方案3】:

放入此函数并在 Activity 开始时调用它:

void checkInternetConnectionStatus()
{
    ConnectivityManager connMgr = (ConnectivityManager) this
        .getSystemService(Context.CONNECTIVITY_SERVICE);

    android.net.NetworkInfo wifi = connMgr
        .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    android.net.NetworkInfo mobile = connMgr
        .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

    if (wifi.isAvailable()) {
        /*
         * Toast.makeText(this, "Wi-Fi connection enabled",
         * Toast.LENGTH_LONG) .show();
         */
    } else if (mobile.isAvailable()) {
        /*
         * Toast.makeText(this, "Mobile Internet enabled",
         * Toast.LENGTH_LONG) .show();
         */

    } else {
        Toast.makeText(this, "No Internet Connection", Toast.LENGTH_LONG)
            .show();

        new AlertDialog.Builder(this)
            .setTitle("No internet connection active")
            .setMessage("Please start internet connection and run this application.")
            .setNegativeButton(
                "Exit",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        Log.d("AlertDialog", "Negative");
                        finish();
                    }
                }).show();
    }
}

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-29
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多