Android 2.2 (8-й уровень) httpclient.execute согласованное время - PullRequest
3 голосов
/ 09 июня 2011

Я пытаюсь получить ответ от спокойной службы, но получаю тайм-аут. Я могу соединиться с браузером на моем эмуляторе, так как я настроил точку доступа на эмулируемом устройстве для прохождения через прокси (на работе). Сеть вроде бы в порядке. Я добавил:

<uses-permission android:name="android.permission.INTERNET" /> 

в файл AndroidManifest.xml.

Код выглядит следующим образом:

public String getInputStreamFromUrl(String url) {
    String content = null;
    InputStream stream = null;
    try {
        HttpGet httpGet = new HttpGet(url);
        HttpClient httpclient = new DefaultHttpClient();
        // Execute HTTP Get Request
        HttpResponse response = httpclient.execute(httpGet);
        stream = response.getEntity().getContent();
        BufferedReader rd = new BufferedReader(new InputStreamReader(stream), 4096);
        String line;
        StringBuilder sb =  new StringBuilder();
        while ((line = rd.readLine()) != null) {
                sb.append(line);
        }
        rd.close();
        content = sb.toString();
            } catch (Exception e) {
        content = e.getMessage();
    }
    return content;

Я знаю, что должен вернуть поток, но для отображения некоторых строковых значений в виджете TextView будет достаточно, поэтому я просто использую строку для эксперимента. Он постоянно висит на .execute, независимо от того, какой URL передан. Я также передал действительные IP-адреса, ничего не делая.

Я заранее ценю вашу помощь.

1 Ответ

0 голосов
/ 16 июня 2011

Попробуй это.Поместите это на вершину класса.

System.setProperty("http.proxyHost", <your proxy host name>);
System.setProperty("http.proxyPort", <your proxy port>);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...