我有一个pdf文件,需要本地存储在res/raw或assets中的某个文件夹中。
现在我不知道哪个文件夹是保存这个文件的最佳文件夹,以及如何选择它的路径以显示在第三方应用程序中。
我正在使用以下不起作用的代码:
代码:
i = new Intent(this, Tips10.class);
i.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, getResources() +"/"+ getPackageName() + "/" + R.raw.tips10);
startActivity(i);
日志目录:
03-10 00:33:04.335: I/PDFVIEWER(9473): Intent { cmp=com.tackfu/.Tips10 (has extras) }
03-10 00:33:04.335: I/PDFVIEWER(9473): ST='file 'android.content.res.Resources@410cc978/com.tackfu/2130968576' not found'
03-10 00:33:04.335: I/PDFVIEWER(9473): ST='reading page 1, zoom:1.0'
有人告诉我可能是什么问题吗?如有任何帮助,我们将不胜感激。
您要么需要将PDF复制到外部存储并将该路径与startActivity()
一起使用,要么需要创建一个ContentProvider
,从内部存储(或者可以直接从资源/资产中提取,尽管这有点困难(为文件提供服务。
这个示例项目演示了通过ContentProvider
为内部文件提供服务。这个示例项目扩展了第一个,只允许您指定的应用程序访问该Uri
。