java Android异步任务如何设置计时器
我是安卓异步任务新手
我只有一个简单的问题。。如果以前有人问过这个问题,请告诉我去哪里找
我正在使用异步任务
此asynctask中的my doInBackground用于向我自己的服务器发出POST请求
但有时,当我的服务器可能因为电力或其他问题而停机时
此任务将永远加载
当异步任务仍在运行时,我打开我的计算机,服务器再次启动,但异步任务仍在运行并永远加载,直到我关闭程序并返回运行
我不想让我的用户体验它
我想,我想要的是
让异步任务运行doInBackground大约20秒,20秒后,如果仍然没有结果,那么我将做一些事情
我该怎么做
我应该为这20秒再做一条线吗? 或者是否有可以设置为asynctask的计时器
谢谢你
# 1 楼答案
您应该为网络操作添加超时。这样,如果超过此超时,它将抛出异常
例如,如果使用
DefaultHttpClient
,它将类似于:如果是
HttpUrlConnection
,请使用:其中
CONNECTION_TIMEOUT
和SOCKET_TIMEOUT
以毫秒为单位