【发布时间】:2014-01-11 14:09:54
【问题描述】:
在我的应用程序中,我的资产文件夹中存储了一些 pdf。我见过用于打开 pdf 页面的库,但我认为 quickoffice 等应用程序在显示 pdf 方面比我见过的库更好。因此,我希望使用Intent.ACTION_VIEW 显示 pdf,如下所示:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(fileUri, "application/pdf");
getActivity().startActivity(intent);
但是,这是不可能的,因为不允许第三方应用访问我的包中的文件。因此,我需要将文件复制到外部存储并将该文件提供给意图。
这让我想到了我的问题:我的 pdf 文件很大,所以我认为将它们存储两次(一次在我的资产文件夹中,一次在外部存储中)是愚蠢的。所以我想知道是否有解决方法。例如,我可以这样做吗:
//Copy file to external storage
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(fileUri, "application/pdf");
getActivity().startActivity(intent);
//Delete file from external storage
这是一个好的解决方法还是会导致 pdf 查看应用出现问题?还是有不同的解决方法?
【问题讨论】:
标签: java android pdf android-intent android-external-storage