要获取 Android 设备的 wlan0 接口的 IP 地址,可以使用以下代码:
fun getIPAddress(interfaceName: String): String? {
try {
val interfaces: List<NetworkInterface> = Collections.list(NetworkInterface.getNetworkInterfaces())
for (intf in interfaces) {
if (intf.getName().equals(interfaceName)) {
val addresses: List<InetAddress> = Collections.list(intf.getInetAddresses())
for (address in addresses) {
if (!address.isLoopbackAddress() && address.address.size === 4) {
return address.getHostAddress()
}
}
}
}
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
return null
}
通过 getIPAddress 方法传入接口名称(这里是 “wlan0”)来获取相应接口的 IP 地址。使用 NetworkInterface.getNetworkInterfaces() 获取所有网络接口,并循环遍历找到指定名称的接口。然后获取该接口的所有地址,并找到非回环地址且地址长度为 4 的 IPv4 地址。