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()
。希望您没有在 onPreExecute
或 onPostExecute
中做任何事情,因为它们不会被调用。
我建议一般避免使用 AsyncTask
,并听从 user137021 的建议,将 AsyncTask.doInBackground
代码直接放在 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()
。希望您没有在 onPreExecute
或 onPostExecute
中做任何事情,因为它们不会被调用。
我建议一般避免使用 AsyncTask
,并听从 user137021 的建议,将 AsyncTask.doInBackground
代码直接放在 IntentService
.