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