通过 FileProvider 将 PDF 文件从外部存储发送到 Telegram 在 Android 10 中出现错误

问题描述 投票:0回答:1

好吧,我可以正确地将 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.

谢谢。

java android pdf telegram android-fileprovider
1个回答
0
投票

Android 10 后文件访问已更改。请参考我的回答here.

© www.soinside.com 2019 - 2024. All rights reserved.