gpt4 book ai didi

android - 在 Android 中查找本地网络地址 - 包括 IP 和 NetMask? (以太网不是 wifi)

转载 作者:行者123 更新时间:2023-11-29 15:14:49 26 4
gpt4 key购买 nike

在Android模拟器中,地址(eth0)是10.0.2.15/24

在支持以太网的平板电脑上,eth0 有一个相似的地址:例如192.168.0.2/24

如何通过现有的 Android API 找到它? (现有版本 - Android L 预览版之前!)。

我知道它可以通过 WifiManager.getDhcpInfo() 为 WiFi 完成 - 但我对以太网感兴趣 - 或者更好的是通用方式。

最佳答案

这是一个获取掩码的方法,也就是网络前缀长度。最低 API 为 9,并且需要 INTERNET 权限。该地址有一个“/”前缀,但可以通过添加 .toString.substring(1) 或类似内容轻松删除。

public void logLocalIpAddresses() {
Enumeration<NetworkInterface> nwis;
try {
nwis = NetworkInterface.getNetworkInterfaces();
while (nwis.hasMoreElements()) {

NetworkInterface ni = nwis.nextElement();
for (InterfaceAddress ia : ni.getInterfaceAddresses())

Log.i(TAG, String.format("%s: %s/%d",
ni.getDisplayName(), ia.getAddress(), ia.getNetworkPrefixLength()));
}

} catch (Exception e) {
e.printStackTrace();
}
}

关于android - 在 Android 中查找本地网络地址 - 包括 IP 和 NetMask? (以太网不是 wifi),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25522917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com