如何从android资产中获取pdf文件?

时间:2011-11-11 12:20:23

标签: android android-intent

在我的应用程序中,我从资源资源获取文件并从中打开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();                     

            }   

但是我运行那段代码。我收到错误对话:

  

“文件路径无效”

所以我错了?请帮助我。

感谢。

2 个答案:

答案 0 :(得分:4)

问题是您将资源路径从应用程序传递到第三方应用程序,但该路径仅在您的应用程序中有效,因为它是私有资源。

唯一的解决方案是将PDF文件从资产复制到外部存储,然后将该文件(外部存储中的文件)的路径提供给第三方应用程序。然后它应该工作。

答案 1 :(得分:1)

您需要使用资产管理器访问资产中的项目。Link is here