AsynTask永远不会在IntentService中运行

时间:2018-08-10 16:45:08

标签: java android intentservice

我正在尝试使用以下代码:

public class SeparateProcessService extends IntentService implements GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener,
        LocationListener
{
public SeparateProcessService() {
        super("IntentService");
    }

    @Override
    protected void onHandleIntent(@Nullable Intent intent) {

        new UploadData().execute();


    }

}

执行asynctask行时,编译器会跳过它或将其忽略。

有人指导我可能是什么问题?我实际上正在尝试通过intentservice将数据上传到api。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

AsyncTask.execute()异步运行。如果要阻止onHandleIntent()直到AsyncTask完成,可以使用new UploadData().get()。希望您不会在onPreExecuteonPostExecute中进行任何操作,因为这些不会被调用。

我建议您一般避免使用AsyncTask,并按照用户137021的建议,将AsyncTask.doInBackground代码直接放在IntentService中。