在我的应用程序中,我的资产文件夹中存储了一些 pdf。我见过用于打开 pdf 页面的库,但我认为 quickoffice 等应用程序在显示 pdf 方面比我见过的库更好。因此,我希望使用 显示 pdf Intent.ACTION_VIEW
,如下所示:
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 查看应用程序出现问题?还是有不同的解决方法?