Warum sollte das URLConnection-Timeout nach mehr als 6 Minuten anstelle von 5 Sekunden auftreten?

Ich kopiere diese Methode wörtlich aus meiner Anwendung, die noch nicht vollständig ist, aber versucht, mir einen Timeout-Stack-Trace bereitzustellen, wenn die Dinge nicht reibungslos verlaufen:

protected boolean isHttpAlive()  {
  boolean isHttpOk = false;

  HttpURLConnection httpConnection = null;
  try {
    URL gurl = new URL("http://www.amazon.com/");
    URLConnection connection = gurl.openConnection();
    connection.setConnectTimeout(5 * 1000); // 5 seconds!
    httpConnection = (HttpURLConnection) connection;
    int responseCode = httpConnection.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK)
      isHttpOk = true;
  } 
  catch (Exception e) {                    
    e.printStackTrace();
  }
  finally {
    if (httpConnection != null)
      httpConnection.disconnect();
  }

  return isHttpOk;
}

Jetzt auf einem meiner Testgeräte (Droid), wenn es ein Problem gibt, bekomme ichdie Ausnahme aber erst danach6 Minuten and 36 Sekunden, nicht 5 Sekunden wie im obigen Code eingestellt.

Die Zeitüberschreitungsausnahme wird für die ausgelöstgetResponseCode().

Warum?

Was vermisse ich?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage