`
betakoli
  • 浏览: 169693 次
社区版块
存档分类
最新评论

AsyncTask 任务请求超时自动返回

 
阅读更多

Androidk开发常用AsyncTask 操作,在AsyncTask 中调用httpurlconnection上传文件,设置了请求超时时间为10秒,但是十秒后httpurlconnection并未终止,而是很长时间以后才终止。设置并未生效。所以想办法去判断AsyncTask 类执行时间。当超时10秒,自动给予提示。

urlCon.setConnectTimeout(10000);
urlCon.setReadTimeout(10000);

 上面调用并没有效果,修改为下

 

final updateTextTask utt = new updateTextTask(mContext);
   utt.execute(params);
         new Thread(){
             public void run(){
              try{
               utt.get(10000, TimeUnit.MILLISECONDS);
              } catch(TimeoutException e){
               returnvalue = "请求超时!";
            jsCallback(F_IMAGES_PICK, 0,
              EUExCallback.F_C_TEXT, returnvalue);
              } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     } catch (ExecutionException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
             }
          }.start();

 

 


   

分享到:
评论

相关推荐

    Android 异步任务 设置 超时使用handler更新通知功能

    `AsyncTask`是Android提供的一个轻量级异步框架,它简化了在后台线程执行任务并在UI线程更新结果的过程。在标题和描述中提到的问题是关于如何在`AsyncTask`中设置超时并使用`Handler`更新UI。 `AsyncTask`的工作...

    android异步请求

    - **OkHttp**:使用`OkHttpClient`创建一个客户端实例,配置请求头和超时等设置。然后创建一个`Request`对象,指定URL和HTTP方法(GET或POST)。最后,通过`enqueue()`方法发送异步请求,接收`Call<ResponseBody>`...

    Android应用源码之31.模拟Http请求.zip

    - Volley:Google推出的轻量级网络库,适合简单的HTTP请求,自动缓存,支持多种请求类型。 - Retrofit:基于OkHttp的声明式网络库,提供更简洁的API,易于集成和扩展。 - OkHttp:高性能的HTTP客户端,提供拦截器...

    线程实现的Android访问网络资源

    - **AsyncTask**: Android提供了一个内置的异步任务类`AsyncTask`,它可以在线程池中执行后台任务,并在完成时更新主线程中的UI。`doInBackground()`方法用于执行网络请求,`onPostExecute()`方法则在主线程中运行...

    android自动聊天机器人

    - **API调用错误**:处理可能的API错误,如请求超时、无效响应等。 7. **用户体验优化**: - **缓存策略**:可以考虑对最近的对话进行本地缓存,以减少不必要的网络请求,提高响应速度。 - **加载动画**:在网络...

    前端开源库-timeout-then

    "timeout-then" 库解决了这个问题,它允许我们在执行 then 方法时指定一个超时时间,如果在这个时间内 promise 未 resolve 或 reject,就会自动 reject,返回一个超时错误。 使用 "timeout-then" 库非常简单。首先...

    安卓Android源码——从中调用web service的源码.zip

    开发者可以通过创建接口定义请求,并使用Gson或Jackson库自动将JSON数据转换为Java对象。 6. **OkHttp库**:OkHttp是另一个高效的网络库,提供了缓存、连接池等功能,提高了网络请求的速度和稳定性。Retrofit经常与...

    android与PHP交互

    这里我们以AsyncTask为例,讲解如何在Android中正确地进行网络请求。AsyncTask是Android提供的一种轻量级的异步处理工具,它允许我们在后台线程执行耗时操作,然后在UI线程更新结果。以下是一个简单的使用AsyncTask...

    前端开源库-timeout-as-promise

    在Promise中,我们通常会遇到一个挑战:如何在等待某个异步操作的同时设置一个超时限制,如果超过这个时间限制,就自动返回错误或执行其他备选操作。`timeout-as-promise` 库正是为了解决这个问题而诞生的。 首先,...

    Android客户端抓取网络数据

    因此,我们需要在后台线程(如AsyncTask、Thread或IntentService)中执行网络请求,然后在回调中更新UI。可以使用Handler或runOnUiThread方法将结果安全地传递到主线程进行显示。 4. **service**模块:...

    Android下从网络获取数据实现图文混排效果

    在实际开发中,我们需要考虑网络请求可能出现的异常情况,如网络未连接、超时或服务器返回错误等。通过在`AsyncTask`中捕获异常并处理,可以给用户反馈相应的错误信息。 10. **内存管理**: 为了优化性能和避免...

    Android 多线程的操作方式代码

    IntentService是一个单线程的服务,用于执行单一任务,一旦任务完成,服务会自动停止。它非常适合执行不需要用户交互的后台任务,如网络请求或文件下载。通过发送Intent启动IntentService,并在`onHandleIntent()`...

    android HTTP通信简单Demo

    - Android中通常使用`AsyncTask`进行网络请求,因为它允许在后台线程执行任务,然后在UI线程更新结果,避免了主线程阻塞。 - `Handler`和`Looper`用于处理异步消息传递,也可以用来更新UI。 5. **服务端**: - ...

    HttpURLConnectionDemo.rar

    在`HttpURLConnectionDemo`这个示例项目中,你可能会看到一个`MainActivity`,它创建并启动一个网络请求任务,可能包含一个`sendRequest`方法来处理GET或POST请求,以及解析返回的JSON数据。同时,可能还会有单独的...

    安卓Android源码——GetPostSample.rar

    因此,通常使用异步任务(AsyncTask)、线程池、Handler、RxJava或上述提到的网络库的异步回调来处理网络请求。 6. **数据解析**: - GET或POST请求返回的数据通常需要解析,可以使用`JSONObject`、`JSONArray`...

    Android网络交互-新闻系统

    `AsyncTask`是Android提供的一种轻量级异步任务类,可以用来处理短时间的后台操作。 4. ** Volley库**:Volley是Google推荐的网络请求库,它优化了网络请求性能,支持HTTP/HTTPS,提供了内存和磁盘缓存,适合大量小...

    Android 开发过程网络相关问题

    在早期的Android开发中,AsyncTask常用于处理短时间的后台任务,如网络请求。它允许开发者在UI线程上更新结果,但需要注意版本兼容性和内存泄漏问题。 3. **Handler/Looper**: Handler和Looper机制可用于处理...

    Android高级应用源码-一个支持暂停下载断点续传的源码.zip

    `AsyncTask`包含三个泛型参数:`Params`(输入参数),`Progress`(表示后台任务进度)和`Result`(后台任务的返回结果)。它有三个主要的方法:`onPreExecute()`(在UI线程运行,用于初始化任务),`doInBackground...

    Android客户端和服务器端数据交互Demo03.zip

    综上所述,"Android客户端和服务器端数据交互Demo03"这个项目覆盖了Android应用开发中的诸多核心概念,包括网络请求、数据解析、错误处理、后台任务以及安全实践等。通过这个Demo,开发者可以深入理解并实践这些技术...

    Android获取网页源码

    在Android开发中,获取网页源码是一项常见的任务,它能够帮助开发者分析网页内容、抓取数据或者实现自动化操作。本文将详细介绍如何在Android环境中通过异步处理来获取任意网页的HTML源码。 首先,我们需要引入必要...

Global site tag (gtag.js) - Google Analytics