gpt4 book ai didi

android-download-manager - 安卓 : why am I not able to open pdf downloaded from DownloadManager inside public Download/myfolder directory in Android 11?

转载 作者:行者123 更新时间:2023-12-04 17:24:23 27 4
gpt4 key购买 nike

我在 Android 9 中没有遇到这个问题,在 Android 10 中我选择退出 Legacy Storage。但是在 Android 11 中,我无法打开从下载管理器下载的文件。但是,可以从文件管理器打开相同的文件。
另外,我检查了该文件的所有者,它显示的是 com.android.providers.downloads 而不是我的应用程序。
我还在 Document/myfolder 目录中创建了一个 pdf 文件,它可以使用 Intent 轻松打开,并且我的应用程序是该文件的所有者。
此外,如果我将下载的文件保存到 Document/myfolder 目录,它仍然无法使用该意图打开。
根据我的理解,从 Android 11 开始,他们引入了范围存储,以及该文件的所有者是否正在访问它。它将允许通过 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 权限进行读/写。
对于这两个文件,我使用相同的 Intent。
任何人都知道如何更改我下载的文件的所有者,以便我可以打开或者我无法打开该下载文件的确切原因是什么?

 Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setDataAndType(uri, PDF_TYPE);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_NO_HISTORY);

intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
这里 PDF_TYPE 是正确的,uri 也是正确的。
DownloadManager 代码在这里也是正确的一小段
                        .setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, subPath.getPath());

最佳答案

我遇到了同样的问题,但在 Android 10 中。
这在 Android 11 中对我有用

Uri uri = FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID, file);

关于android-download-manager - 安卓 : why am I not able to open pdf downloaded from DownloadManager inside public Download/myfolder directory in Android 11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64349620/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com