繁体   English   中英

Android AsyncTask如何设置计时器

[英]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_TIMEOUTSOCKET_TIMEOUT以毫秒为单位。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM