0

我可以像这样从我的资产文件夹中获取文件

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但是如果我把它放在我的 sdcard 上并点击它来打开它,我没有收到这个错误,所以我的操作有什么问题?

4

1 回答 1

4

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

您将需要:

  • 将文件复制到外部存储,或
  • 将文件复制到内部存储并使用 aContentProvider使其可用于 PDF 查看应用程序

此示例项目演示了后一种方法。

于 2013-01-07T21:08:01.143 回答