检查wifi是否已连接,即使已连接也会返回false

时间:2013-09-22 19:31:53

标签: android android-wifi

我正在开发一个Android项目,我正在尝试检查Android设备是否连接到Wifi,但是,即使我的设备已成功连接到Wifi,我的功能也总是返回false。

在类的构造函数中,我传递调用方法的上下文,并在构造函数中创建ConnnectivityManager的实例

下面是构造函数

public NetworkManagement(Context context)
{
    this.context = context;
    connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
}

以下是我的功能,我遇到了问题

public boolean isConnectedToWifi()
{
    NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    if (networkInfo.isConnected())
    {
        return true;
    }
    else
    {
        return false;
    }
}

即使我的设备连接到wifi网络并且我可以成功连接到互联网,上面的功能总是会返回false,但我不明白为什么。

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

public class NetworkManagement
{
    public Context context;

    public NetworkManagement(Context context)
    {
        this.context = context;     
    }

    public boolean isConnectedToWifi()
    {
        ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        if (networkInfo.isConnected())
        {
            return true;
        }
        else
        {
            return false;
        }
    }

}

并致电

//tested with context=getApplicationContext();
NetworkManagement a = new NetworkManagement(context);
Boolean z = a.isConnectedToWifi();

z应该正确地返回

编辑:它仍然无法正常工作然后我接受它。如果它仍然不是它将是上下文中的错误