次のコードは、Android Galaxy Nexus v4.0.2で動作していないため、エミュレータや他の古いデバイスで動作します。古いデバイスとemuで動作している場合、変数 "is"は必要に応じてすべてのバイトを取得しており、すべてが良好です。 Nexus上で動作している間、 "is"と "is"に例外が見つからないファイルがスローされます。次に、 "is"がnullのため、nullポインタをスローします。このファイルが見つかりませんでしたエラーを修正する方法はありますか?ファイルは他のデバイス/ emu/browserで到達可能です。Android Nexus v4.0.2のHttpURLConnectionに関する問題
私はjava.io.FileNotFoundExceptionを取得しています:at = urlConnection.getInputStream();ここで
コードです:
// GET
InputStream is = null;
try {
// set the URL that points to a file to be downloaded
URL url = new URL(downloadURL);
// create the new connection
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();
// set up some things on the connection
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
// connect and download
urlConnection.connect();
// used in reading the data from the internet
is = urlConnection.getInputStream();
} catch (IOException e) {
e.printStackTrace();
}
非常に興味深い。 setDoOutput()を呼び出すときは、trueではなくfalseにする必要があります。これを変更すると問題が解決されたようです。質問は、これがこのデバイス/ osにのみ影響し、他のすべてのデバイス/ osには影響しないのはなぜですか? Hmmm –
同じ振る舞いをしていましたが、setDoOutputがどのように影響して最終的にio例外が生成されるかはわかりません。メソッドがtrueで呼び出されました。リクエストボディが送信されなかったとしても。偽に変更して私の問題を解決しました。 –