HttpUrlConnection se comporta diferente en Android 2.3 Gingerbread

Estoy perplejo aquí. He estado usando el mismo código HttpUrlConnection para recuperar JSON de mi servidor desde Android 1.5. De repente, con 2.3 no funcionará y no puedo entender por qué.

Aquí está mi código:

try { HttpURLConnection conn = (HttpURLConnection)(new URL(Constants.SERVER_URL + path)).openConnection(); conn.setAllowUserInteraction(false); // no user interact [like pop up] conn.setDoOutput(true); // want to send conn.setDoInput(true); conn.setRequestMethod( "POST" ); conn.setRequestProperty( "Content-type", "application/x-www-form-urlencoded" ); conn.setRequestProperty( "Accept", "application/json,text/html,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" ); conn.setRequestProperty( "Accept-Charset", "UTF-8" ); conn.setRequestProperty("Connection", "Keep-Alive"); DataOutputStream pw = new DataOutputStream (conn.getOutputStream()); pw.writeBytes(requestString); pw.flush(); pw.close(); if (conn.getResponseCode() == 200) { InputStream in = new BufferedInputStream(conn.getInputStream()); BufferedReader br = new BufferedReader(new InputStreamReader(in)); StringBuffer stringBuffer = new StringBuffer(); while(br.ready()){ stringBuffer.append(br.readLine()); } br.close(); in.close(); return stringBuffer.toString(); } else { return badResponse; } } catch (Exception ioe) { return ERROR_MAKING_CONNECTION; } 

La respuesta vuelve con un código de 200, sin embargo, cuando ejecuto conn.getInputStream (). Available () el resultado es -1. En todos los demás api de Android, además de 2.3, el conn.getInputStream (). Available () devuelve una respuesta significativa.

¿Algunas ideas?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.