如何获得DNS信息在android系统

可能重复:
你如何为Android当前的DNS服务器?

我想在Android上的DNS服务器举行。 这个线程说,有一些android.net.NetworkUtils类,但我发现没有这样的类。 同样的问题在这里问,但它是没有解决。

--------------解决方案-------------

这里有一个项目实例的作品:

https://github.com/rorist/android-network-discovery/blob/master/src/info/lamatricexiste/network/DnsDiscovery.java

for (long i = start; i < end + 1; i++) {
hosts_done++;
HostBean host = new HostBean();
host.ipAddress = NetInfo.getIpFromLongUnsigned(i);
try {
InetAddress ia = InetAddress.getByName(host.ipAddress);
host.hostname = ia.getCanonicalHostName();
host.isAlive = ia.isReachable(timeout) ? 1 : 0;
} catch (java.net.UnknownHostException e) {
Log.e(TAG, e.getMessage());
} catch (IOException e) {
Log.e(TAG, e.getMessage());
}
if (host.hostname != null && !host.hostname.equals(host.ipAddress)) {
// Is gateway ?
if (discover.net.gatewayIp.equals(host.ipAddress)) {
host.deviceType = 1;
}
// Mac Addr
host.hardwareAddress = HardwareAddress.getHardwareAddress(host.ipAddress);
// NIC vendor
try {
host.nicVendor = HardwareAddress.getNicVendor(host.hardwareAddress);
} catch (SQLiteDatabaseCorruptException e) {
Log.e(TAG, e.getMessage());
}
publishProgress(host);
} else {
publishProgress((HostBean) null);

其实,这看起来像一个很好的答案:

你如何为Android当前的DNS服务器?

android.net.ConnectivityManager将提供您的NetworkInfo的使用数组getAllNetworkInfo() 然后使用android.net.NetworkUtils.runDhcp()以获得一个DhcpInfo为任何给定的网络界面- DhcpInfo structure具有用于IP地址dns1dns2该接口(它是表示IP地址的整数值)。

这里是另一个很好的链接:

http://www.devdaily.com/java/jwarehouse/android/wifi/java/android/net/wifi/WifiStateTracker.java.shtml

分类:安卓 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 3.432 (s). 10 q(s)