我知道如何检查wifi是否启用。
代码:
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(wifi.isWifiEnabled())
{
//Code execution comes here
}但是,如何确定用户是否真的连接到附近的wifi网络(或任何wifi网络)?
编辑:我的意思是问,如果用户在输入密码后登录到wifi网络,那么只有他才能使用该wifi。那么,是否有检查是否已连接(登录)到任何wifi网络?
发布于 2014-04-08 10:17:40
您应该能够使用ConnectivityManager来获取Wifi适配器的状态。通过这个你可以检查如果它是连接的..。
检查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;
}
}您需要在清单中添加权限。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />好运!!
发布于 2014-04-08 10:15:32
试试这个:
ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWifi.isConnected()) {
// Do whatever
}希望这有帮助..。:)
发布于 2014-04-08 10:16:26
尝尝这个
ConnectivityManager con=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_SERVICE);
boolean wifi=con.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
//check Internet connection
if(wifi)
{
//do what you want
}else{
}还添加了要求的权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />希望这能起作用
https://stackoverflow.com/questions/22933837
复制相似问题