创建新实例时,AsyncTask不会执行两次

时间:2013-11-09 10:45:23

标签: android android-asynctask

我要求不止一次执行Asynctask。因此,我每次都在创建Asynctask的新实例。伪代码在

之下
public void sendToServer(final String messagetoSend,Context context){

AsyncHttpPost wst = new AsyncHttpPost(messagetoSend);
wst.execute();
System.out.println("GET OUT");
System.out.println("SENDING TO SERVER");
}

我从sendToServer方法调用onResume函数。 Asynctask第一次被执行并且没有失败。但这是第二次,它没有被执行。我在logcat中得到了GETOUT和SENDING TO SERVER语句。但任务没有得到执行。让我知道我失踪的地方。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

你只是在这里打电话一次。要再次调用它,您必须在上一个旁边添加另一个wst.execute()语句,如下所示: -

public void sendToServer(final String messagetoSend,Context context){

    AsyncHttpPost wst = new AsyncHttpPost(messagetoSend);
    wst.execute();
    wst.execute();
    System.out.println("GET OUT");
    System.out.println("SENDING TO SERVER");
}

答案 1 :(得分:0)

只需编写新的AsyncHttpPost(messagetoSend).execute()而不是其他3行。如果你想要定位不同的版本,只需创建一个if语句来检查你设备的版本,并使用其中一个或另一个补充。