在Android上获取DHCP的域名

时间:2017-02-11 20:51:10

标签: android macos networking dns fedora-25

我希望获得domain / search的价值,可以在Mac上的/etc/resolv.conf和Android上的Linux中找到。

以下是MacOS和Linux(Fedora 25)的示例:

的MacOS:

#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
domain home
nameserver 195.121.1.34
nameserver 195.121.1.66

Linux的:

# Generated by NetworkManager
search home
nameserver 195.121.1.34
nameserver 195.121.1.66

如您所见,我在上述案例中寻找的价值是home。知道如何在Android上获取它吗?

我想做什么?

我正在尝试制作一款取决于网络设置的Android应用,其行为会有所不同。例如,它尝试查找服务foo.home(注意home是动态的并且依赖于网络),如果成功,它将使用该服务器。否则,它将查询公共服务以找出它应该使用的服务器。

1 个答案:

答案 0 :(得分:0)

搜索路径的重点是自动应用于查询,因此您的应用程序无需将其显式添加到域中。

我不确定您尝试使用哪种语言,因为您在此处定位不同的平台,但仅作为示例:

// start with the unqualified name
service = "foo";
try {
    InetAddress.getByName(addr);
} catch (UnknownHostException e) {
    // if `foo' did not resolve, use the external service
    // specified by the fully qualified name
    service = "public.whatever.com"
}