android - 如何检查用户是否连接到 wifi 网络?

标签 android android-wifi

我知道如何检查 wifi 是否已启用。

代码:

WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled())
{
    //Code execution comes here
}

但是如何确定用户是否确实连接到附近的 wifi 网络(或与此相关的任何 wifi 网络)?

编辑: 我的意思是问,如果用户在输入密码后登录到 wifi 网络,那么他只能使用该 wifi。那么有没有办法检查是否已连接(登录)到任何 wifi 网络?

最佳答案

您应该能够使用 ConnectivityManager 获取 Wifi 适配器的状态。通过这个你可以check如果连接...

检查wifi是否连接的方法:-

public static Boolean checkWIFI(Activity activity) {
    Log.d("checkWIFI", "checkWIFI");

    ConnectivityManager cm = (ConnectivityManager) activity
            .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo netInfo = cm.getActiveNetworkInfo();

    Log.d("NetworkInfo", "NetworkInfo" + netInfo);

    if (netInfo != null && netInfo.isConnectedOrConnecting()) {
        return true;
    } else if (netInfo != null
            && (netInfo.getState() == NetworkInfo.State.DISCONNECTED
                    || netInfo.getState() == NetworkInfo.State.DISCONNECTING
                    || netInfo.getState() == NetworkInfo.State.SUSPENDED || netInfo
                    .getState() == NetworkInfo.State.UNKNOWN)) {
        return false;

    } else {
        return false;
    }
}

您需要在 list 中添加权限

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

祝你好运!

关于android - 如何检查用户是否连接到 wifi 网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22933837/

相关文章:

java - 在 kotlin 类中调用 Java 单例类时出现 NoClassDefFound 错误

android - 使用 android-beacon-library 检测信标不起作用

android - Android 的仅扫描模式如何工作?

java - 在没有互联网的情况下在本地wifi聊天中跳过消息

android - 更改移动热点配置

android - 当我想展示另一个 Toast 时,我可以取消之前的 Toast 吗?

android - 从左到右和从右到左的android滑动面板

java - 错误: MyGestureDetector cannot be resolved to a type.如何解决?

android Wifilock-移动数据访问锁怎么样?