2013-05-27 48 views
6

我成功地從互聯網上下載一個PDF文件,然後我打開下載文件夾使用以下意圖:的Android無法打開下載的文件

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

此代碼位於一個BroadcastReceiver我的的onReceive()方法中創建用於處理下載完成事件。 下載完成併成功(我可以在下載完成後立即打開下載文件夾中的下載狀態,如預期的那樣)。但是,當我點擊新下載的文件時,會彈出另一個對話框,要求我選擇要打開該文件的應用程序(我可以選擇Adobe Reader或Quickoffice)。當我選擇Adobe Reader時,出現錯誤:「文檔路徑無效」,當選擇Quickoffice時,出現錯誤:「文件無法打開」。

這非常惱人,尤其是因爲下載文件夾和下載過程以及下載文件的管理完全不在我的手中--Android在將它們呈現給我時會意識到下載目錄中的文件,所以它怎麼能是因爲它沒有通過有效的路徑?到底是怎麼回事? 爲了清楚起見,我沒有在我的代碼中指定任何路徑 - Android選擇了保存文件的路徑。而且我甚至可以看到該文件的合理大小(KB),這意味着它不是空的,它絕對是一個pdf文件(.pdf擴展名)。

請幫忙。提前致謝。

+0

下載後..go使用文件瀏覽器下載文件夾(不是從你的應用程序),並檢查它是否打開或.. – bakriOnFire

+0

謝謝bakriOnFire。事實是,當我使用我的設備的文件瀏覽器導航到Downloads文件夾時,下載的文件不會顯示在下載文件夾中......也許它在不同的文件夾中?仍然爲什麼我可以看到顯示的活動中的文件?如果這意味着Android意識到它的存在,不是這樣嗎? – shai

+0

後您的代碼,您使用下載並保存在下載文件夾.. – bakriOnFire

回答

0

And I can even see that the file has a reasonable size in KBs, which means it's not empty and it's definitely a pdf file (.pdf extension).

文件具有PDF擴展名的事實不一定會使其成爲有效的PDF文件!將文件移動到您的PC,看看您是否可以在那裏打開它。您可能在執行下載的代碼中存在錯誤,導致將一些無效內容寫入文件。

+0

其實,我試過在裝有Polaris Office的其他設備上打開下載的pdf文件,並且在該設備上工作正常。這絕對是我期待的pdf。但在我的設備上,它只是無法打開上面的錯誤。 – shai

+0

順便說一下,原始設備(出現錯誤的地方)是Android 2.3.5操作系統,Samsung Galaxy Young(1)設備以及成功打開文件的設備是Android 4.0.1操作系統,Samsung Galaxy 2設備。希望有所幫助。 – shai