1

我正在开发一个 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,但我不明白为什么。

感谢您的任何帮助,您可以提供。

4

1 回答 1

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 应该正确返回它

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

于 2013-09-22T20:48:34.897 回答