【Android】获取设备IP的方法

序言

在Android开发中,有很多地方需要使用IP地址,但是有时候Android设备获取的IP地址是有区别的,比如如果Android设备创建一个热点,那此时这个Android设备就有两个IP地址了,一个是本身的IP地址,一个是热点的路由器IP地址,这个获取方式是不一样的。

获取本机IP地址
try {
   
    WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
    if (wifiManager != null) {
   
        WifiInfo wifiInfo = wifiManager.getConnectionInfo();
        int ipAddress = wifiInfo.getIpAddress();
        String ipHostAddress = Formatter.formatIpAddress(ipAddress);
        Log.e(TAG, "本机IP:" + ipHostAddress);
    }
} catch (Exception e) {
   
    AgLog.printException(e);
}

获取路由器IP地址
try {
   
            Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces();
            while (interfaces.hasMoreElements()) {
   
                NetworkInterface networkInterface = interfaces.nextElement();
                Enumeration<InetAddress> addresses = networkInterface.getInetAddresses();
                while (addresses.hasMoreElements()) {
   
                    InetAddress address = addresses.nextElement();
                    if (!address.isLoopbackAddress() && !address.isLinkLocalAddress() && address.isSiteLocalAddress()) {
   
                        // 返回第一个非回环、非链路本地地址
                        ipHostAddress = address.getHostAddress();
                        Log.e(TAG, "本机IP:" + ipHostAddress);
                        break;
                    }
                }
            }
        } catch (Exception e) {
   
            AgLog.printException(e);
        }

另外需要注意,需要先设置权限,再获取IP地址

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

相关推荐

  1. Android获取设备IP方法

    2024-02-05 16:20:05       36 阅读
  2. AndroidAndroid获取设备Serial Number方法

    2024-02-05 16:20:05       8 阅读
  3. android 获取唯一设备id

    2024-02-05 16:20:05       10 阅读
  4. iOS获取通讯录方法

    2024-02-05 16:20:05       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-05 16:20:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-05 16:20:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-05 16:20:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-05 16:20:05       20 阅读

热门阅读

  1. 使用freemarker和itextpdf结合,将html转化为pdf

    2024-02-05 16:20:05       34 阅读
  2. vue封装滚动表格

    2024-02-05 16:20:05       32 阅读
  3. 考了二级建造师证书后,有哪些好处呢?

    2024-02-05 16:20:05       34 阅读
  4. 消防安全常识知晓率问卷怎么设计

    2024-02-05 16:20:05       25 阅读
  5. MySQL 的一个入门实例

    2024-02-05 16:20:05       27 阅读
  6. 机器学习本科课程 实验4 支持向量机

    2024-02-05 16:20:05       22 阅读
  7. LC 292. Nim 游戏

    2024-02-05 16:20:05       32 阅读
  8. Linux基础复习

    2024-02-05 16:20:05       27 阅读
  9. C++ 变量(整型与浮点型)

    2024-02-05 16:20:05       28 阅读