現在、Webview に「動的な」PDF ファイルを表示しようとしています。これらの PDF はデータベースからロードされ、ブラウザーに「ストリーミング」されます。これは、すべての PC ブラウザーや Android ブラウザーでさえ正常に機能します。「content-type: application/pdf」と「application/octet-stream」を試してみましたが、どちらも同じ結果になりました。
HttpClient と HttpURLConnection を使用して PDF をダウンロードしようとしましたが、すべて getContentLength(); を試しました。および getInputStream(); その唯一の100Bと言い続けます。
そのため、PDF インテントを起動すると、Android は正しい PDF ファイルではないことを通知します。
downloadListener を使用して (最初にダウンロードせずに) URL をインテントに入れた場合にのみ、Webview はデフォルトのブラウザーを開き、すぐにダウンロードを自動的に開始します。
したがって、PDFを提示する方法はうまくいくようです。しかし、URL からストリームを取得しようとする方法はそうではありません。
このトピックに関する質問がたくさんありますが、悲しいことに、正しい/有効な回答はほとんどありません...
よろしくお願いします!
編集: URL は www.xxx.com/file.pdf ではなく、www.xxx.com/file.php?id=12345 なので、モバイル ブラウザで URL を開くと、ブラウザはダウンロードを開始しますが、ダウンロードは私のWebviewのコードは、ファイルを見たり見つけたりするように見えるだけです。