我正在尝试在我的应用程序中使用主机文件 DNS 覆盖。是否有允许我执行此操作的应用程序属性或 TCP 设置?或者,在应用程序级别是否存在 DNS 挂钩?
我基本上是在尝试绕过广告拦截主机文件自定义 ROM 人员放置的位置,但要在应用程序级别进行。
从本质上讲,如果人们不喜欢这些广告,请不要使用我的应用程序,但我不想成为一个刺头,让应用程序无法运行。
是否有允许我执行此操作的应用程序属性或 TCP 设置?
不可以。对于你自己的IP地址(例如HTTP请求),欢迎你找一些Java DNS解析库来代替系统的,但是没有办法在你的应用程序中拦截来自第三方代码的其他请求.
或者,在应用程序级别是否存在 DNS 挂钩?
不,见上文。
从本质上讲,如果人们不喜欢这些广告,请不要使用我的应用程序,但我不想成为一个刺头,让应用程序无法运行。
然后,您应该修复(或与您的广告网络一起修复)当用户安装了“广告拦截主机文件自定义 ROM”时您的应用无法运行的原因。广告横幅不应该因为无法解析 DNS 而崩溃,因为可能会失败的原因与“广告阻止主机文件自定义 ROM”无关(例如,DNS 服务器有一个 conniption)。
由于您没有在这种情况下解释“不运行”的含义,因此很难为您提供更具体的建议。