Pdf File In asset folder not open in thirdparty ap

2020-05-10 16:45发布

问题:

Hi I am new in android i have some PDF file that exist in this path asset/pdf/example.pdf

when i try PDF file with this code

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);

i get this error & know it's because third party has no access to file what is solution?

回答1:

know it's because third party has no access to file

file:///android_asset/ only works for WebView AFAIK.

what is solution?

You can use my StreamProvider, which offers a ContentProvider that can serve a file from assets/.

Or, you can implement your own ContentProvider that can serve the file from assets/.

Or, you can copy the asset to a local file (e.g., in getFilesDir() or getCacheDir()), then use FileProvider to serve that local file.