2013-07-18 8 views
-1

Как бы установить тайм-аут в этом случае, если телефон не может связаться с сервером? Причина этого заключается в том, что у меня есть диалог загрузки, который продолжает вращаться, и я хотел бы, чтобы соединение просто сдавалось через 10 секунд, которое отключило бы диалог загрузки.android java http таймаут не работает

public class GetResults { 
String data = null; 
String URLME = null; 
String Search = null; 
BufferedReader inn; 

@SuppressWarnings("finally") 
public String GetLocationData(String THESEARCHSTRING) throws Exception { 
    Search = THESEARCHSTRING; 
    try { 
     URL site = new URL("http://www.google.com/"); 
     java.net.URLConnection yc = site.openConnection(); 
     inn = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
     StringBuffer sb = new StringBuffer(""); 
     String l = ""; 
     String ln = System.getProperty("line.separator"); 
     while ((l = inn.readLine()) != null) { 
      sb.append(l + ln); 
     } 
     inn.close(); 

     data = sb.toString(); 
     URLME = data; 
     return URLME; 
    } finally { 
     if (inn != null) { 
      try { 
       inn.close(); 
       return URLME; 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     return URLME; 
    } 
} 

}

+0

получил его NVM yc.setConnectTimeout (5000); \t \t \t yc.setReadTimeout (10000); – Xjasz

+0

Совершенно необоснованно размещать вопрос, озаглавленный «Тайм-аут не работает», когда вы его даже не установили. -1 – EJP

ответ

0

Пожалуйста, попробуйте использовать это и проверить сделать увеличение времени ожидания.

импорт java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL;

открытый класс c { static String data = null; static String URLME = null; static String Search = null; статическая гостиница BufferedReader;

@SuppressWarnings("finally") 
public static String GetLocationData(String THESEARCHSTRING) 
     throws Exception { 
    Search = THESEARCHSTRING; 
    try { 
     URL site = new URL("http://www.google.com/"); 
     java.net.URLConnection yc = site.openConnection(); 
     yc.setConnectTimeout(1); 
     inn = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
     StringBuffer sb = new StringBuffer(""); 
     String l = ""; 
     String ln = System.getProperty("line.separator"); 
     while ((l = inn.readLine()) != null) { 
      sb.append(l + ln); 
     } 
     inn.close(); 

     data = sb.toString(); 
     URLME = data; 
     return URLME; 
    } finally { 
     if (inn != null) { 
      try { 
       inn.close(); 
       return URLME; 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     return URLME; 
    } 
} 

}

Смежные вопросы