2011-11-11 53 views
2

在我的應用程序中,我從資產資源獲取文件並從中打開pdf文件。我使用此代碼:如何從android資產中獲取pdf文件?

Uri path = Uri.parse("file:///android_asset/WindsorONE_Mobile_PK.pdf"); 

      Intent intentPDF = new Intent(Intent.ACTION_VIEW);      
      intentPDF.setDataAndType(path, "application/pdf");      
      intentPDF.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);      
      try {       
       startActivity(intentPDF);      
      }      
      catch (ActivityNotFoundException e) {       
       Toast.makeText(ListSample.this,        
        "No Application Available to View PDF",        
        Toast.LENGTH_SHORT).show();      

      } 

但是,當我運行該代碼。我得到錯誤對話框,「文件路徑無效」 所以我錯了?
請幫助e。

謝謝。

回答

4

問題是,您將應用程序的資源路徑傳遞給第三方應用程序,但該路徑僅適用於您的應用程序,因爲它適用於專用資源。

唯一的解決方案是將PDF文件從資產複製到外部存儲,然後將該文件(外部存儲的文件)的路徑提供給第三方應用程序。那麼它應該工作。

+0

好讓我嘗試它。 –

+0

從我的+1你的應用程序將不會允許其他應用程序打開它的文件 – Dharmendra

+0

嗯,我已經將該文件複製到SD卡,然後使用它,它工作正常。謝謝。 –

1

您需要使用資產管理器來訪問資產中的項目。 Link is here

+0

好的感謝您的答覆,但在我的代碼中,我必須如何改變Uri路徑? –

+0

Pl。檢查此解決方案。 http://stackoverflow.com/questions/4820816/how-to-get-uri-from-an-asset-file – Vinay

相關問題