好吧,我可以正确地将 pdf 文件存储在外部存储器中。 但问题是当我想通过 fileProvider 将它发送到电报时,它在电报应用程序中收到此错误“不支持的附件”。
这是我分享pdf的代码:
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getAbsolutePath(), viewModel.getUserData().getCaseNo() + ".pdf");
Uri uri = FileProvider.getUriForFile(requireContext(), "com.nsard.provider", file);
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setClipData(ClipData.newRawUri("", uri))
intent.setDataAndType(uri, requireContext().getContentResolver().getType(uri));
intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Snackbar.make(binding.getRoot(), file.getPath() + "\n" + uri.getPath(), Snackbar.LENGTH_SHORT).show();
startActivity(Intent.createChooser(intent, "Open with"));
我也试试这个解决方案附件问题 但它没有解决。
关键是在 android lower 中它工作正常但在 10+ face error.
谢谢。
Android 10 后文件访问已更改。请参考我的回答here.