从资产文件夹中打开pdf文件

时间:2013-01-07 21:03:47

标签: android

我可以从我的资产文件夹中获取此文件

Intent i = new Intent(Intent.ACTION_VIEW);
        i.setDataAndType(Uri.parse("file:///android_asset/help_doc.pdf"), "application/pdf");
        i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        try{
            startActivity(i);
        }catch(ActivityNotFoundException e){
            Toast.makeText(this, "No Application Available to View PDF", Toast.LENGTH_SHORT).show();
        }

但是当我选择要打开它的应用程序时,它要么没有打开,要么给我一个错误说error opening file. it does not exist or cannot be read但是如果我把它放在我的SD卡上并点击它打开它我不会得到这个错误所以我怎么做错了?

1 个答案:

答案 0 :(得分:4)

file://android_asset仅适用于您的应用。你告诉其他人应用程序要做的是从他们的资产中读取help_doc.pdf,而他们没有这样的文件。

您需要:

  • 将文件复制到外部存储,或
  • 将文件复制到内部存储空间并使用ContentProvider将其提供给PDF查看应用

This sample project演示了后一种方法。