AsynTask 从不在 IntentService 中运行

AsynTask Never Runs in 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。

如有任何帮助,我们将不胜感激。

AsyncTask.execute() 异步运行。如果你想阻塞 onHandleIntent() 直到 AsyncTask 完成,你可以使用 new UploadData().get()。希望您没有在 onPreExecuteonPostExecute 中做任何事情,因为它们不会被调用。

我建议一般避免使用 AsyncTask,并听从 user137021 的建议,将 AsyncTask.doInBackground 代码直接放在 IntentService.