2011-09-02 39 views
0

我想解决在我的应用程序中使用主机文件DNS覆盖。有一个应用程序属性或TCP设置,可以让我这样做吗?或者在应用程序级别有DNS钩子?有没有办法在Android的应用程序级别禁用主机文件?

我基本上试图绕过广告拦截主机文件自定义ROM人员放在位,但要在应用程序级别执行它。

从本质上讲,如果人们不喜欢广告,不要使用我的应用程序,但我不想成为刺客,并且应用程序无法运行。

+0

肯尼,你可能想检查广告是否显示和/或广告网站是否可用,并使用该信息做些事情。您可以禁用功能;用重试互联网连接按钮显示对话框;等等 – eyespyus

+1

你不想因为没有运行你的应用程序而变得刺耳,但你想用用户的主机文件来染指? – Falmarri

+0

没有Falmarri,我只是想忽略我的应用程序中的hosts文件,从而防止他们与我的应用程序功能沾染,你读过这个问题吗? – Kenny

回答

0

是否有应用程序属性或TCP设置,可以让我这样做?

否。对于您自己的IP地址(例如HTTP请求),欢迎您找到一些Java DNS解析库并使用它来代替系统之一,但是无法拦截来自第三方的其他请求第三方代码在您的应用程序。

或者在应用程序级别有DNS钩子?

否参见上文。

从本质上讲,如果人们不喜欢广告,不要使用我的应用程序,但我不想成为一个刺痛,并没有应用程序运行。

然后,您应该修复(或与您的广告网络合作修复)当用户安装“禁止广告拦截主机文件自定义ROM”时应用程序无法运行的原因。广告横幅不应该因为无法解析DNS而崩溃,因为可能会失败的原因与“广告拦截主机文件自定义ROM”(例如,具有连接的DNS服务器)无关。

由于您没有解释在这种情况下“未运行”的含义,因此很难为您提供更具体的建议。

+0

admob并不是真正开放来解决问题,但一些较小的网络至少对它开放,实质上,它们应该有一些固定的IP来尝试,如果网络连接可用并且DNS不能解决。 – Kenny

相关问题