私は次のようなワークフローを持つアプリケーションに取り組んでいます:
1.ホームページの解析(HttpURLConnection、connect()、do stuff、disconnect()、データの使用を使用)、
2.作成したリンクをクリックした後、リンクに基づいて記事を解析するか、ファイルをダウンロードします。
記事の場合、最初のステップは完璧に機能し、2番目のステップも機能しますが、特定のURLからファイルをダウンロードしてSDカードに保存しようとすると、次の行にfileNotFoundExceptionが発生します。
InputStream inputStream = urlConnection.getInputStream();
それを行うための私のガイド(ファイルのダウンロード)はここhttp://goo.gl/GTBOPで説明されているコードであり、このアクションに必要なマニフェストに権限を設定し、さらにダウンロード操作の前にMEDIA_MOUNTED&MEDIA_MOUNTED_READ_ONLY状態をチェックしたようですぴったりです。
だから..私はstackOverflowや他の場所でこの問題についてたくさん読んで、これらを追加するようなさまざまな提案を試しました:
urlConnection.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
urlConnection.setRequestProperty("Accept","*/*");
また
System.setProperty("http.keepAlive", "false");
しかし、成功しませんでした。私はまだfileNotFoundExceptionで立ち往生しています。ウェブページから応答コードをキャッチしようとしましたが、404と表示されます。
他のサイトからダウンロードするためにファイルへのリンクをハードコードすると、問題なくファイルがダウンロードされるのは不思議です。明確にするために、fileurl変数へのリンクをクリックしましたが、次のステップでは、fileurl = "somesite / somefile.ext"と言うだけで、すべてがスムーズになります。Webブラウザーから、アプリケーションで問題が発生するファイルをダウンロードできるので、問題はどこにあるのか混乱しています。
何か提案をお願いします..?10q