相关疑难解决方法(0)

Android - 为AsyncTask设置超时?

我有一个AsyncTask我执行的类,它从网站下载大量数据.

如果最终用户在使用时数据连接速度非常慢或不稳定,我想AsyncTask在一段时间后进行超时.我的第一个方法是这样的:

MyDownloader downloader = new MyDownloader();
downloader.execute();
Handler handler = new Handler();
handler.postDelayed(new Runnable()
{
  @Override
  public void run() {
      if ( downloader.getStatus() == AsyncTask.Status.RUNNING )
          downloader.cancel(true);
  }
}, 30000 );
Run Code Online (Sandbox Code Playgroud)

启动后AsyncTask,一个新的处理程序被启动,将取消AsyncTask30秒后,如果它仍在运行.

这是一个好方法吗?或者内置的AsyncTask内容是否更适合此目的?

java android android-asynctask

122
推荐指数
3
解决办法
7万
查看次数

标签 统计

android ×1

android-asynctask ×1

java ×1