2011-09-02 64 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

相關問題