当前位置:编程学习 > wap >>

android如何自动获取DNS

我在做android的以太网这部分,现在的问题是我可以自动获取到ip地址和子网掩码,但是获取不到DNS
请问如何自动获取到DNS呢?
望高手指教。 --------------------编程问答-------------------- 没人回答啊 --------------------编程问答--------------------     WifiManager.getDhcpInfo ()
    在DhcpInfo中有dns1 和 dns2两个字段,应该就是你要的 --------------------编程问答--------------------
引用 2 楼 a220315410 的回复:
    WifiManager.getDhcpInfo ()
    在DhcpInfo中有dns1 和 dns2两个字段,应该就是你要的

这需要wifi打开吧?GPRS怎么办? --------------------编程问答--------------------
引用 2 楼 a220315410 的回复:
    WifiManager.getDhcpInfo ()
    在DhcpInfo中有dns1 和 dns2两个字段,应该就是你要的


LZ想获取dns  不是 info吧 --------------------编程问答-------------------- 我是想用android系统连接网线
目前可以使用netcfg eth0 dhcp 自动获取ip地址,但是没法获取dns
所以想请问下有什么方法获取dns
谢谢 --------------------编程问答--------------------     好吧,小弟实力不济,在google的API里找了一圈,也没发现除了WifiManager以外,还有哪里可以获得dhcpInfo的实例。
     可能,只能从Linux的命令着手了。 --------------------编程问答--------------------
引用 6 楼 a220315410 的回复:
好吧,小弟实力不济,在google的API里找了一圈,也没发现除了WifiManager以外,还有哪里可以获得dhcpInfo的实例。
  可能,只能从Linux的命令着手了。


如果能找到什么命令获取也可以,但是我找了很久也没找到能获取DNS的命令。哪位大虾知道啊 --------------------编程问答-------------------- linux 下倒是可以使用命令:cat /etc/resolv.conf
来查看,但是,不知道android下,还行不 --------------------编程问答--------------------     nslookup 这条命令貌似可以,不知道android支持不,好想找个板子试试啊 --------------------编程问答-------------------- getprop net.dns1 --------------------编程问答-------------------- LZ小弟现在也在做以太网这块啊  获取到IP了 默认网关 和子网掩码 DNS怎么获取啊  求楼主解救啊 --------------------编程问答-------------------- 10楼正解,使用
Process localProcess = Runtime.getRuntime().exec(“getprop net.dns1”);
可获得GPRS或3G下的DNS地址

解决了大问题啊,狂顶! --------------------编程问答-------------------- 晕,获取dns准备搞什么呢 --------------------编程问答-------------------- DNS应该是和IP一起获取的呀,不然手机怎么可以无线上网呢 --------------------编程问答-------------------- http://www.52rd.com/Blog/Detail_RD.Blog_heilv100_54222.html
可以直接获取系统属性,用不着
Process localProcess = Runtime.getRuntime().exec(“getprop net.dns1”); --------------------编程问答-------------------- 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 --------------------编程问答--------------------
引用 9 楼 a220315410 的回复:
    nslookup 这条命令貌似可以,不知道android支持不,好想找个板子试试啊

帮你测试了一下,可以的!测试环境: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

/ #  --------------------编程问答-------------------- getprop net.dns1

引用 12 楼 Carson_Wang 的回复:
10楼正解,使用
Process localProcess = Runtime.getRuntime().exec(“getprop net.dns1”);
可获得GPRS或3G下的DNS地址

解决了大问题啊,狂顶!

JAVA也可以:System.getProperty 
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,