如何在异步函数中调用startActivity方法

时间:2014-01-27 13:46:24

标签: java android

我正在尝试从他们的网站上安装android教程,并尝试在获取网页后修改MainActivity以更改为DisplayMessageActivity。

问题是我无法访问回调中的intent变量,也无法定义它们(我是android和Java的新手)。

以下是我要做的事情:gist

我正在使用this库。如果我遗漏所有与意图相关的代码,则获取url。任何人都可以解释为什么这不起作用或指向正确的方向?我试过使用defaultHTTPClient,但似乎无法使用它获取页面。

1 个答案:

答案 0 :(得分:0)

您需要一个生成并启动新Intent的上下文。

我猜您的AsyncTask是由Activity或Service创建的。在构造期间将Activity或Service的引用传递给AsyncTask并将其存储在成员变量中。

在您要启动新Activity的位置,使用对Activity或Service的引用来创建Intent并启动Activity。只要确保你在传递给Activity.runOnUIThread(Runnable)的Runnable中做了所有这些,因为根据android设备的VM你可能会或者可能无法从UIThread之外的任何其他线程创建一个Activity,而它总是可以从UIThread。

祝你好运!