Android 获取IP地址的实现方法
在Android应用程序中,可以使用以下方法获取设备的IP地址。
方法一:使用WifiManager
// 在Activity或Fragment中获取WifiManager实例
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
// 检查Wifi是否已启用
if (wifiManager.isWifiEnabled()) {
// 获取当前连接的Wifi信息
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
// 获取IP地址
int ipAddress = wifiInfo.getIpAddress();
// 将整型IP地址转换为字符串形式
String ip = String.format(\"%d.%d.%d.%d\",
(ipAddress & 0xff),
(ipAddress >> 8 & 0xff),
(ipAddress >> 16 & 0xff),
(ipAddress >> 24 & 0xff));
// 打印IP地址
Log.d(\"IP地址\", ip);
} else {
// Wifi未启用的处理逻辑
}
方法二:使用NetworkInterface
try {
// 获取所有网络接口
List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
// 遍历网络接口
for (NetworkInterface intf : interfaces) {
// 获取接口的IP地址列表
List<InetAddress> addrs = Collections.list(intf.getInetAddresses());
// 遍历IP地址列表
for (InetAddress addr : addrs) {
// 检查IP地址是否为IPv4地址
if (!addr.isLoopbackAddress() && addr instanceof Inet4Address) {
// 获取IP地址字符串形式
String ip = addr.getHostAddress();
// 打印IP地址
Log.d(\"IP地址\", ip);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
以上是两种常用的获取Android设备IP地址的方法。方法一使用WifiManager获取当前连接的Wifi的IP地址,方法二使用NetworkInterface获取所有网络接口的IP地址。根据具体需求选择合适的方法即可。
希望以上信息对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android 获取IP地址的实现方法 - Python技术站