等待asynctask,但最多只能持续10秒

时间:2015-03-30 14:09:05

标签: android asynchronous android-asynctask

我有一个AsyncTask,我打电话给

String a = ws.get();

因此该过程一直等到asynctask完成。

但我想要的是等待最多10秒,如果asynch未完成那段时间我想通过它并让它在后台运行。

所以流程将是:

  • call async
  • 等到它完成但最多10秒
  • 其他代码

知道如何实现这个目标吗?

编辑:

狡猾解释我在做什么。 我在迷你蓝牙打印机上打印一些数据。 当我按下打印时,我运行一个异步任务,准备打印数据。 此异步任务调用另一个异步任务来从Internet获取一些数据。但是在我打印之前我需要这些数据所以我使用ws.get()。但是如果互联网很慢并且任务需要太多时间(5-10秒),我想绕过ws.get()并打印,但是异步任务仍然需要运行,因为我从互联网上获取的数据仍然会去到我的数据库,它将无法打印。

1 个答案:

答案 0 :(得分:0)

是的,有AsyncTask.get()

ws.get(10000, TimeUnit.MILLISECONDS);//10000 equal to 10 seconds

有关更多参考,请参阅此处:Android - Setting a Timeout for an AsyncTask?