资产文件夹中的 Pdf 文件未在第三方应用程序中打开
Pdf File In asset folder not open in thirdparty app
嗨,我是 android 的新人,我有一些 PDF 文件存在于此路径 asset/pdf/example.pdf
当我尝试使用此代码生成 PDF 文件时
Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File("file:///android_asset/pdf/example.pdf");
intent.setDataAndType( Uri.fromFile( file ), "application/pdf" );
startActivity(intent);
我收到此错误并且知道这是因为第三方无权访问文件
什么是解决方案?
know it's because third party has no access to file
file:///android_asset/
仅适用于 WebView
AFAIK。
what is solution?
您可以使用 my StreamProvider
,它提供了一个 ContentProvider
,可以提供来自 assets/
的文件。
或者,您可以实现自己的 ContentProvider
来提供来自 assets/
的文件。
或者,您可以将资产复制到本地文件(例如,在 getFilesDir()
或 getCacheDir()
中),then use FileProvider
to serve that local file。
嗨,我是 android 的新人,我有一些 PDF 文件存在于此路径 asset/pdf/example.pdf
当我尝试使用此代码生成 PDF 文件时
Intent intent = new Intent(Intent.ACTION_VIEW);
File file = new File("file:///android_asset/pdf/example.pdf");
intent.setDataAndType( Uri.fromFile( file ), "application/pdf" );
startActivity(intent);
我收到此错误并且知道这是因为第三方无权访问文件 什么是解决方案?
know it's because third party has no access to file
file:///android_asset/
仅适用于 WebView
AFAIK。
what is solution?
您可以使用 my StreamProvider
,它提供了一个 ContentProvider
,可以提供来自 assets/
的文件。
或者,您可以实现自己的 ContentProvider
来提供来自 assets/
的文件。
或者,您可以将资产复制到本地文件(例如,在 getFilesDir()
或 getCacheDir()
中),then use FileProvider
to serve that local file。