2013-05-15 51 views
0

我有個問題。我使用AsyncTask從遠程服務器檢索json數據。所有工作正常,如果我的smatphone有互聯網連接。 如果我嘗試將我的手機連接到無線互聯網連接,當我啓動應用程序時,它會顯示幾秒鐘的黑屏。AsyncTask下的Android HTTP請求顯示黑屏

伊爾離開黑畫面時的try/catch(對於HTTP請求)到doBackground返回的java.net.UnknownHostException:無法解析主機「www.xxxxxx.it」:沒有

我打電話的AsyncTask與主機名關聯的地址從onResume方法:

HttpOperation MyTask= new HttpOperation(ctx); 
MyTask.execute(url); 

我的問題在哪裏?最好的問候

+0

你有沒有上網的權限? – Blackbelt

+0

是的,我擁有所有Internet權限。我想模擬一個案例,我沒有互聯網連接,但手機正確連接到接入點。 – Mitsus

+0

你能否建議你是否通過無線網絡連接互聯網,或者你是否期望它無法解決?我假設你期待這個在加載UI的同時繼續加載異步任務,因此不應該看到空白屏幕? –

回答

0

似乎你的問題是,如果沒有任何東西可以顯示,你什麼都不做。您是否考慮過輪詢當前的互聯網連接狀態,並在您打電話給它的活動中顯示「沒有當前連接」的消息?

編輯:代碼查詢當前的網絡連接:

public boolean checkInternet() { 
     ConnectivityManager connection = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo network = connection.getActiveNetworkInfo(); 
     if (network == null) { //no connection 
     return false; 
     } else 
     return true; 
    } 
+0

if(network == null){//無連接 返回false; } else return true; 你可以改變這個片段中,返回netword!= NULL } – Blackbelt

+0

您的權利,這使得事情有點短,但是我總是覺得它可以更容易打破它一點閱讀! –

+0

我使用這個,但它並沒有告訴我是否有互聯網連接,但只有WiFi連接到接入點。 – Mitsus