在后台服务完成任务之前,AsyncTask不执行doInBackground()方法

时间:2013-12-06 12:13:27

标签: android service android-asynctask

我有一项活动,我从设备默认摄像头捕获一些图像,处理它们,当用户点击提交时,我呼叫服务将它们上传到后台服务器上。

  • 活动是tabHost的孩子
  • 在设置标签时,我也给了Intent.FLAG_ACTIVITY_CLEAR_TOP,所以在更改我的标签时,它会再次销毁并创建
  • 当我在拍摄图像后调用相机并从中返回时,从onActivityResult开始,我启动AsyncTask来处理图像&在SDCard中保存已处理的图像。
  • 执行5个不同图像的第2步后
  • 点击提交按钮点击:我呼叫服务并要求服务从SDCard的特定路径上传图像,并将标签更改为第一个标签(以给出像感觉一样的结束)
  • 此后,当我再次通过点击该标签启动相同的活动时
  • 按预期显示空白屏幕(未填写任何数据)
  • 我尝试捕获图像,作为回报onActivityResult被调用,我的AsyncTask被称为
  • 但执行了AsyncTask preExecute方法,但只有在我的服务在后台完成任务后才会调用doInBackground方法。

现在,当我调试我的应用程序时,我看到我的asyncTask仍然显示正在运行,我也尝试在postExecute方法中取消它一旦其任务完成

我想通过后台服务让应用程序一次执行多个http请求,但asyncTask让我失败了!

我在哪里做错了?

0 个答案:

没有答案