2011-11-16 20 views
4

現在我已經從網上下載的網站,並想.pdf文件與指定的軟件像「ADOBE READER」打開它。怎麼我可以做到這一點? 在此先感謝!安卓:用指定軟件打開PDF文件

+0

也許你的問題應該說明你想用_you_指定的軟件打開文件...因爲有意圖並使用LuxuryMode的代碼,你可以使用用戶指定的軟件_s打開文件_... –

回答

2

我已經通過添加方法「Intent.setComponent(pkg,cls);」解決了此問題。 PS:我不會因爲貶低我的代表而生氣,並且感謝您給我提出的建議。 PSS:我想說的是「不是每個人都會得到相同的蘋果。」我發佈這個問題,我有這個問題,它發生在Android應用程序。有人告訴我「不能」。我發佈我的答案只是爲了告訴你我解決了這個(或者只是我的)問題,也許它會幫助有誰誰這個問題和我的一樣。對,這個答案可能對你沒有意義。 PSSS: :-)但我仍然認爲這個API對我和它的設計者都有意義。 * PSSSS: *最後,謝謝大家,並原諒我可憐的英語。

+0

但即使您可以指定包裝,您也無法確定設備上的Adobe Reader是否可用。我真的不明白爲什麼你應該關心使用哪個PDF閱讀器。對我來說沒有意義。 – LuxuryMode

+0

@LuxuryMode:同意,這不利於您的用戶選擇他們喜歡的應用程序,並且對於沒有您試圖強制他們使用的軟件的用戶而言,會慘敗。只是「添加這樣的方法」作爲答案不會幫助任何人試圖理解該做什麼。 -1,我很害怕。 –

2

你不能。你所能做的就是發射一個意圖,讓系統處理它。如果用戶已經有一個他們選擇用來處理PDF的默認應用程序,那就是打開PDF的那個應用程序。

一般是這樣的:

File file = new File("/sdcard/example.pdf"); 

       if (file.exists()) { 
        Uri path = Uri.fromFile(file); 
        Intent intent = new Intent(Intent.ACTION_VIEW); 
        intent.setDataAndType(path, "application/pdf"); 
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

        try { 
         startActivity(intent); 
        } ....... 
+0

謝謝爲你的答案。是的,我已經完成了這個。但我真的想用指定的軟件打開它。 –

+0

@趙羅基,但你不能;) – LuxuryMode

+0

好吧,這讓我很難過:-( –