kotlin 安卓从内部存储打开PDF

yyhrrdl8  于 2023-01-09  发布在  Kotlin
关注(0)|答案(1)|浏览(116)

我有一个pdf在应用程序的内部存储,但是,我无法打开该文件在系统的pdf应用程序。

val pdfDirPath = File(context.filesDir, "pdfs")
val file: File = File(pdfDirPath, "title.pdf")
val uri = Uri.fromFile(file)

val intent = Intent(Intent.ACTION_VIEW)
intent.setDataAndType(uri, "application/pdf");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

显示错误“无法显示pdf”

brgchamk

brgchamk1#

试试这个

Uri pdfUri = FileProvider.getUriForFile(getContext(), getContext().getApplicationContext().getPackageName() + ".provider", file);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.setDataAndType(pdfUri, "application/pdf");
            intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)

相关问题