2014-01-27 52 views
0

我正在嘗試從他們的網站的android教程,並嘗試修改MainActivity更改爲DisplayMessageActivity它提取網頁後。如何調用異步函數內的startActivity方法

問題是我不能訪問回調中的意圖變量,也不能定義它們(我是Android和Java新手)。

這裏就是我想要做的事:gist

我使用this庫。如果我遺漏了所有與意圖相關的代碼,則URL被提取。任何人都可以解釋爲什麼這不起作用或指向正確的方向?我嘗試過使用默認的HTTP客戶端,但似乎甚至無法使用該頁面獲取頁面。

+1

讓你意圖最終這樣可以在你回調函數中訪問 –

+0

@SimonMokhele謝謝你的工作。 – az7ar

回答

0

您需要一個從中生成並啓動新Intent的環境。

我想你的AsyncTask是由Activity或Service創建的。在構建期間,將活動或服務的引用傳遞給AsyncTask,並將其存儲在成員變量中。

在您想要啓動新Activity的點上,使用對Activity或Service的引用來創建Intent並啓動Activity。只要確保你在傳遞給Activity.runOnUIThread(Runnable)的Runnable中執行了所有這些操作,因爲根據Android設備的VM,您可能會或可能無法從UIThread以外的任何其他線程創建Activity,而從UIThread始終是可能的。

祝你好運!