linux 使用Android确定IP地址是静态还是DHCP?

eh57zj3b  于 2023-05-16  发布在  Linux
关注(0)|答案(2)|浏览(260)

我正在开发Android系统应用程序。我想知道IP地址是DHCP还是STATIC。
我们有任何android java类吗?或者有什么方法可以像/sysfs/class/net/eth0一样从sysfs获取它?

mu0hgdu0

mu0hgdu01#

几年前我用这个来检查是DHCP还是STATIC,也许你可以试试,如果不行我会删除答案。

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;
    }
}
lfapxunr

lfapxunr2#

如果我进入我的Android三星手机上的设置(作为一个例子),并点击连接,它会带出它正在使用的WiFi。然后点击设置(在我的手机上是WiFi名称旁边的设置图标),它会调出有关您连接的更多信息。在那里,您需要选择“查看更多”,然后您将看到它是否设置为DHCP或静态。

相关问题