1

我在我的 android 应用程序中使用 dnsjava 在应用程序第一次启动时检索 txt 文件。

val lookup = Lookup(domain, Type.TXT)

lookup.setResolver(SimpleResolver())

val records = lookup.run()
if (lookup.result == Lookup.SUCCESSFUL)
       //Do things

我无法进行检索并进行一些调试,我发现在执行 .run() 之后,查找对象的结果是 Lookup.Try_Again,当我钻入 .run() 时返回一个网络错误作为返回的字符串)。不知道为什么当正在运行的设备具有完美的互联网连接时会发生这种情况。再深入一点,我发现解析器使用的名称服务器只是 localhost。我从中检索的网址是面向公众的。我该如何解决我的错误,我应该如何将名称服务器更改为这样才能正常工作?

4

1 回答 1

0

我猜你用的是奥利奥?Android做了个改动,不再通过getprop暴露dns,dnsjava就是这么用的。可以在此处找到替代方案:您如何获得适用于 Android 的当前 DNS 服务器?

于 2019-05-23T06:32:32.173 回答