我正在开发一个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,但我不明白为什么。
感谢您提供的任何帮助。
答案 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应该正确地返回
编辑:它仍然无法正常工作然后我接受它。如果它仍然不是它将是上下文中的错误