我在做android的以太网这部分,现在的问题是我可以自动获取到ip地址和子网掩码,但是获取不到DNS
请问如何自动获取到DNS呢?
望高手指教。

解决方案 »

  1.   

        WifiManager.getDhcpInfo ()
        在DhcpInfo中有dns1 和 dns2两个字段,应该就是你要的
      

  2.   

    这需要wifi打开吧?GPRS怎么办?
      

  3.   


    LZ想获取dns  不是 info吧
      

  4.   

    我是想用android系统连接网线
    目前可以使用netcfg eth0 dhcp 自动获取ip地址,但是没法获取dns
    所以想请问下有什么方法获取dns
    谢谢
      

  5.   

        好吧,小弟实力不济,在google的API里找了一圈,也没发现除了WifiManager以外,还有哪里可以获得dhcpInfo的实例。
         可能,只能从Linux的命令着手了。
      

  6.   


    如果能找到什么命令获取也可以,但是我找了很久也没找到能获取DNS的命令。哪位大虾知道啊
      

  7.   

    linux 下倒是可以使用命令:cat /etc/resolv.conf
    来查看,但是,不知道android下,还行不
      

  8.   

        nslookup 这条命令貌似可以,不知道android支持不,好想找个板子试试啊
      

  9.   

    LZ小弟现在也在做以太网这块啊  获取到IP了 默认网关 和子网掩码 DNS怎么获取啊  求楼主解救啊
      

  10.   

    10楼正解,使用
    Process localProcess = Runtime.getRuntime().exec(“getprop net.dns1”);
    可获得GPRS或3G下的DNS地址解决了大问题啊,狂顶!
      

  11.   

    DNS应该是和IP一起获取的呀,不然手机怎么可以无线上网呢
      

  12.   

    http://www.52rd.com/Blog/Detail_RD.Blog_heilv100_54222.html
    可以直接获取系统属性,用不着
    Process localProcess = Runtime.getRuntime().exec(“getprop net.dns1”);
      

  13.   

    root@android:/ # getprop | grep dns
    getprop | grep dns
    [net.change]: [net.dnschange]
    [net.dns1]: [120.196.165.7]
    [net.dns2]: [221.179.38.7]
    [net.dnschange]: [1]
    [net.rmnet0.dns1]: [120.196.165.7]
    [net.rmnet0.dns2]: [221.179.38.7]
    [net.rmnet1.dns1]: []
    [net.rmnet1.dns2]: []
    [net.rmnet2.dns1]: []
    [net.rmnet2.dns2]: []都在这里,JAVA也可以:System.getProperty
      

  14.   

    帮你测试了一下,可以的!测试环境:Android 4.0.3
    / # nslookup
    BusyBox v1.19.4 (2012-03-02 18:55:15 CST) multi-call binary.Usage: nslookup [HOST] [SERVER]Query the nameserver for the IP address of the given HOST
    optionally using a specified DNS server/ # 
      

  15.   

    getprop net.dns1JAVA也可以:System.getProperty