[英]Android AsyncTask How to Set Timer
我是Async Task android的新手
我只是有一个简单的问题..如果以前曾问过这个问题,请告诉我在哪里找
我正在使用AsyncTask
我在此asynctask中的doInBackground用于对我自己的服务器的POST请求
但是有时候,当我的服务器出现故障时,可能是因为电力或其他问题,
这个AsyncTask将永远加载
并且当asynctask仍在运行时,我打开我的计算机,并且服务器再次启动,但是async任务仍在运行并永远加载,直到我关闭程序并向后运行
我不希望我的用户体验
我想,我想要的是
使异步任务运行doInBackground大约20秒,然后在20秒后,如果仍然没有结果,那么我将做一些事情
我怎么做?
我应该在这20秒内再做一个线程吗? 或是否可以将任何计时器设置为asynctask。
之前谢谢..
您应该为网络操作添加超时。 这样,如果超过此超时时间,它将引发异常。
例如,如果使用DefaultHttpClient
,它将类似于:
HttpParams httpParameters = client.getParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, CONNECTION_TIMEOUT);
HttpConnectionParams.setSoTimeout(httpParameters, SOCKET_TIMEOUT);
如果它是HttpUrlConnection
,请使用:
connection.setConnectTimeout(CONNECTION_TIMEOUT);
connection.setReadTimeout(SOCKET_TIMEOUT);
其中CONNECTION_TIMEOUT
和SOCKET_TIMEOUT
以毫秒为单位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.