在Android 11上,您需要使用FileProvider
来向其他应用程序共享文件。以下是示例代码:
在manifest文件中声明FileProvider:
...
...
在res/xml目录下创建file_paths.xml文件:
要共享PDF文件,请使用以下代码:
val pdfFile = File(requireActivity().getExternalFilesDir(null), "sample.pdf")
val pdfUri = FileProvider.getUriForFile(requireContext(), requireContext().applicationContext.packageName + ".provider", pdfFile)
val sharingIntent = Intent(Intent.ACTION_SEND)
sharingIntent.type = "application/pdf"
sharingIntent.putExtra(Intent.EXTRA_STREAM, pdfUri)
startActivity(Intent.createChooser(sharingIntent, "Share PDF via"))
这将打开一个共享对话框,您可以选择要与之共享PDF的应用程序。