2012-11-07 13 views
0

我需要從互聯網上下載一個圖像在我的應用程序中創建第二個活動的方法。我知道在主線程上訪問互聯網會在3.x及更高版本上導致android.os.NetworkOnMainThreadException。而不是在第二個活動中的後臺線程中下載圖像,我可以從後臺線程啓動該活動嗎?我的意思是,我可以在AsyncTask類的doInbackground()方法內使用下面的行。從主線程連接到互聯網android

startActivity(new Intent(FirstActivity.this, SecondActivity.class)); 

它能在3.x上運行嗎?或者它會給出同樣的例外嗎?

我沒有3.x設備。抱歉。

回答

1

您可以做什麼是通常開始第二個活動,然後在第二個活動的onCreate()方法中,啓動一個AsyncTask,它在doInBackground中下載圖像,然後在onPostExecute方法中顯示圖像。

1

沒有,但你可以在你的任務的onPostExecute方法使用它..

protected void onPostExecute() { 
    startActivity(new Intent(FirstActivity.this, SecondActivity.class)); 
} 
0

你絕對需要顯示您的活動之前下載的圖片?如果不是,特別是除了查看和操作圖像之外還有其他事情要做,請在後臺加載圖像AsyncTask,並顯示佔位符圖像或微調器等。

+0

我需要在顯示我的活動之前下載圖像。 – user1670443