Java 使用Android确定IP地址是静态还是DHCP?
我正在开发android系统应用程序。我想知道IP地址是DHCP还是静态的Java 使用Android确定IP地址是静态还是DHCP?,java,android,linux,Java,Android,Linux,我正在开发android系统应用程序。我想知道IP地址是DHCP还是静态的 我们有没有安卓java类?或者有没有办法从sysfs像/sysfs/class/net/eth0这样的sysfs获取它?几年前,我用它来检查是DHCP还是静态的,也许你可以尝试一下,如果它不起作用,我会删除答案 WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo connectio
我们有没有安卓java类?或者有没有办法从
sysfs
像/sysfs/class/net/eth0
这样的sysfs获取它?几年前,我用它来检查是DHCP
还是静态的
,也许你可以尝试一下,如果它不起作用,我会删除答案
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo connectionInfo = wifiManager.getConnectionInfo();
List<WifiConfiguration> configuredNetworks = wifiManager.getConfiguredNetworks();
for (WifiConfiguration wificonf : configuredNetworks){
if (wificonf.networkId == connectionInfo.getNetworkId()){
if (wificonf.toString().toLowerCase().indexOf("DHCP".toLowerCase())>-1){
//DHCP
}else if(wificonf.toString().toLowerCase().indexOf("STATIC".toLowerCase())>-1){
//STATIC
}
break;
}
}
WifiManager WifiManager=(WifiManager)context.getSystemService(context.WIFI_SERVICE);
WifiInfo connectionInfo=wifiManager.getConnectionInfo();
List configuredNetworks=wifiManager.getConfiguredNetworks();
用于(WifiConfiguration wificonf:configuredNetworks){
if(wificonf.networkId==connectionInfo.getNetworkId()){
if(wificonf.toString().toLowerCase().indexOf(“DHCP.toLowerCase())>-1){
//DHCP
}else if(wificonf.toString().toLowerCase().indexOf(“STATIC.toLowerCase())>-1){
//静止的
}
打破
}
}
既然您在娱乐Java答案。。。另请参阅,并感谢jww。它适用于WiFi。在我的用例中,我也有以太网接口,我想根据当前的活动网络获取addressingType。Android已经将“Ethernet服务”(Android.net.EthernetManager)作为隐藏类,所以我不能再进一步了。谢谢Skizo。它适用于WiFi。在我的用例中,我也有以太网接口,我想根据当前的活动网络获取addressingType。Android已经将“Ethernet服务”(Android.net.EthernetManager)作为隐藏类,所以我不能再进一步了。