如何获取 android 中 ip 地址的主机名?

How to get Host name of ip address in android?

我想制作一个小型 android 应用程序,从连接的 LAN 网络获取 IP 地址和主机名。我有一个代码 运行 非常适合在连接的 LAN 网络中获取 IP 地址,但我不知道如何获取其 IP 地址的主机名。我需要更改代码的地方。抱歉英语不好。

Here is my code for getting ip address in lan network

String connections = "";
    InetAddress host;
    try
    {
        host = InetAddress.getByName("192.168.1.1");
       byte[] ip = host.getAddress();
       for(int i = 1; i <= 254; i++)
        {
            ip[3] = (byte) i;
            InetAddress address = InetAddress.getByAddress(ip);

            if(address.isReachable(100))
            {


                System.out.println(address + " machine is turned on and can be pinged "+address.getCanonicalHostName());
                connections+= address+"\n";
            }
            else if(!address.getHostAddress().equals(address.getHostName()))
            {
                System.out.println(address + " machine is known in a DNS lookup");
                System.out.println(address.getHostAddress()+"host Name:"+ address.getHostName());
            }

        }
        tv.setText(connections);

    }
    catch(UnknownHostException e1)
    {
        e1.printStackTrace();
    }
    catch(IOException e)
    {
        e.printStackTrace();
    }

使用 .getHostname()

InetAddress addr = InetAddress.getByName("192.168.1.1");
String host = addr.getHostName();
System.out.println(host);