【问题标题】:android httpconnection timeout not workingandroid httpconnection超时不起作用
【发布时间】:2014-10-21 10:52:06
【问题描述】:

当我打开互联网(数据) dialog.dismiss();工作正常,对话框消失。但如果我关闭互联网对话不会消失。我等了 1 分钟或更长时间。顺便说一句,这是一个后台线程。 我不需要检查互联网。只想超时,需要运行 dialog.dismiss();连接工作完成或超时后。 我的代码是

connection = (HttpURLConnection) (new URL("http://anything.com/a/?enask="+textsearched )).openConnection();
 connection.setRequestMethod( "GET" );
 connection.setConnectTimeout(5000);
 connection.setReadTimeout(10000);
 connection.setRequestProperty("Connection", "Keep-Alive");
  connection.setDoInput( true );
 connection.setDoOutput( true );
 connection.connect();
 InputStream is = null;
 is = connection.getInputStream();
 dialog.dismiss();

【问题讨论】:

  • 您是否在异步任务中显示进度对话框??
  • 是的,异步任务进度对话框在获取 html 数据时消失。但是当没有互联网可用时,progressdialog 不会消失。
  • 所以在您的 asynctask 预执行方法中添加该交互检查条件。如果互联网不可用,则 dialog.dismiss();
  • 我不需要上网。只想超时,需要运行 dialog.dismiss();连接工作完成或超时后。

标签: android timeout httpurlconnection


【解决方案1】:

你可以先看看你是否在线。

    public boolean isOnline() 
        {
        ConnectivityManager cm =(ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) 
            {return true;}
        return false;
        }

否则解雇

【讨论】:

  • 先生,您能告诉我一种运行 dialog.dismiss() 的方法吗?在至少 15 秒后获取 html 数据或超时。
猜你喜欢
  • 2011-01-24
  • 1970-01-01
  • 2013-02-20
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
  • 2018-12-27
相关资源
最近更新 更多