我知道如何检查 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/