1
我使用连接管理器类和获取网络信息,我只是得到如果网络类型是Wifi或以太网。但是当我的网络类型是Wifi时,我想知道它的静态还是动态。如何检查WiFi连接是否是静态或非编程方式在android
有人可以帮我这个
我使用连接管理器类和获取网络信息,我只是得到如果网络类型是Wifi或以太网。但是当我的网络类型是Wifi时,我想知道它的静态还是动态。如何检查WiFi连接是否是静态或非编程方式在android
有人可以帮我这个
下面你可以找到改编自这thread简单(没有优化)代码。 代码是为Android 4.0编写的。
记住添加额外的用户权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
方法:
public String getIpAssignment(){
String myenumvalue="";
WifiConfiguration wifiConf = null;
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo connectionInfo = wifiManager.getConnectionInfo();
List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks();
for (WifiConfiguration conf : configuredNetworks){
if (conf.networkId == connectionInfo.getNetworkId()){
wifiConf = conf;
break;
}
}
if(wifiConf != null){
try {
Object Enumer = getDeclaredField(wifiConf, "ipAssignment");
myenumvalue = Enumer.toString();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return myenumvalue;
}
它返回从ipAssignment枚举的领域之一:未分配| STATIC | DHCP
你在说静态/动态IP地址吗? – Grambot
雅作为静态ipsettings – user1810931
如果有人知道关于静态IP设置知道..我需要编程方式检查我的wifi或以太网是否takign静态IPSettings或不 – user1810931