您的位置:首页 > 新闻 > 会展 > app开发一个多少钱_百度广告优化师_什么是软文营销_百度搜索榜

app开发一个多少钱_百度广告优化师_什么是软文营销_百度搜索榜

2025/5/22 7:44:28 来源:https://blog.csdn.net/qq_25462179/article/details/147123191  浏览:    关键词:app开发一个多少钱_百度广告优化师_什么是软文营销_百度搜索榜
app开发一个多少钱_百度广告优化师_什么是软文营销_百度搜索榜

Android开发中获取WiFi动态IP地址可通过以下方法实现,需结合网络状态管理和API调用:

一、权限配置

AndroidManifest.xml中添加必要权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" />


二、通过WifiManager获取(传统方法)

  1. 获取WifiManager实例‌:

    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

  2. 检查并启用WiFi‌(可选):

    if (!wifiManager.isWifiEnabled()) { wifiManager.setWifiEnabled(true); }

  3. 获取连接信息并解析IP地址‌:

    WifiInfo wifiInfo = wifiManager.getConnectionInfo(); int ipAddress = wifiInfo.getIpAddress(); String ip = String.format("%d.%d.%d.%d", (ipAddress & 0xff), (ipAddress >> 8 & 0xff), (ipAddress >> 16 & 0xff), (ipAddress >> 24 & 0xff));

    该方法通过WifiInfo直接获取当前连接的IP地址‌68。


三、通过ConnectivityManager和NetworkCapabilities(推荐新API)

  1. 获取ConnectivityManager实例‌:

    ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

  2. 获取活动网络并提取IP地址‌:

    Network activeNetwork = connectivityManager.getActiveNetwork(); if (activeNetwork != null) { LinkProperties linkProperties = connectivityManager.getLinkProperties(activeNetwork); List<InetAddress> addresses = linkProperties.getLinkAddresses().stream() .map(LinkAddress::getAddress) .collect(Collectors.toList()); // 提取IPv4地址(过滤IPv6) for (InetAddress address : addresses) { if (address instanceof Inet4Address) { String ip = address.getHostAddress(); break; } } }

    此方法通过LinkProperties获取更详细的网络属性,兼容Android 9及以上版本‌17。


四、注意事项

  1. 动态IP有效性‌:需确保设备已成功连接WiFi并完成DHCP协商,否则可能返回0.0.0.0或空值。

  2. API版本适配‌:

    • Android 10+ 弃用NetworkInfo,推荐使用NetworkCapabilitiesLinkProperties‌。
    • 低版本设备可沿用WifiManager方案‌。
  3. 空值处理‌:需检查connectivityManageractiveNetwork等对象是否为null,避免崩溃。


以上方法均适用于动态IP场景,实际开发中建议优先采用新API以保证兼容性‌

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com