7

インターネットから pdf ファイルを正常にダウンロードし、次のインテントを使用してダウンロード フォルダーを開きます。

Intent pdfFileIntent = new Intent();
pdfFileIntent.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
ctx.startActivity(pdfFileIntent);

このコードは、ダウンロード完了イベントを処理するために作成した BroadcastReceiver の onReceive() メソッド内にあります。ダウンロードが完了し、正常に完了しました (予想どおり、ダウンロードが完了した直後に開かれるダウンロード フォルダーでダウンロード ステータスを確認できます)。ただし、新しくダウンロードしたファイルをクリックすると、別のダイアログが表示され、ファイルを開くアプリケーションを選択するよう求められます (Adobe Reader または Quickoffice のいずれかを選択できます)。Adobe Reader を選択すると「ドキュメント パスが無効です」というエラーが表示され、Quickoffice を選択すると「ファイルを開けません」というエラーが表示されます。

これは特に、ダウンロード フォルダーとダウンロード プロセス、およびダウンロードしたファイルの管理が完全に私の手の届かないところにあるため、非常に面倒です。有効なパスを渡しませんか? 何が起こっている?わかりやすくするために、コードでパスを指定しませんでした。Android がファイルを保存するパスを選択しました。また、ファイルのサイズが適切な KB 単位であることもわかります。これは、ファイルが空ではなく、間違いなく pdf ファイル (.pdf 拡張子) であることを意味します。

助けてください。前もって感謝します。

4

1 に答える 1

1

また、ファイルのサイズが妥当な KB 単位であることもわかります。これは、空ではなく、間違いなく pdf ファイル (.pdf 拡張子) であることを意味します。

ファイルに PDF 拡張子が付いているからといって、それが有効な PDF ファイルであるとは限りません。ファイルを PC に移動し、そこで開くことができるかどうかを確認します。ダウンロードを実行するコードにバグがあり、無効なコンテンツがファイルに書き込まれる可能性があります。

于 2013-05-27T07:13:00.107 に答える