我创建了
Android Activity中的的AsyncTask
不断从Server获取命令。当收到来自服务器的特定命令时,我如何启动另一个活动。 在AsyncTask中,我编写了无限循环,因为它
从服务器
收到“HOMEPAGE”消息
它应该启动HOMEPAGE Activity。
StartActivity(new Intent(null,HOMEPAGE.class))
抛出空指针异常。我应该写什么而不是null作为第一个参数。
答案 0 :(得分:0)
如果您的AsyncTask是在同一个类中实现的,那么您需要将活动上下文对象作为当前活动传递
startActivity(new Intent(YourActivity.this, HOMEPAGE.class));
答案 1 :(得分:0)
让你的asyncTask保存对当前活动活动的引用:
class MyAsyncTask extends AsyncTask {
public MyAsyncTask(Activity a) {
this.a = a;
}
// your code
}
然后您可以使用:startActivity(new Intent(a, Homepage.class))
启动活动,例如在onProgressUpdate()方法中。
如果你想在之后保持AsyncTask运行(例如在一段时间之后启动另一个激活),你必须在此之后通过回调方法或类似的方式更新你的活动变量。