0

我在 Android 11 上遇到的问题如下:我的应用正在从 Internet 下载文件(例如图像)。该应用程序首先让用户使用 Intent.ACTION_OPEN_DOCUMENT_TREE 选择文件夹来存储文件。此步骤使应用程序 SAF 可以访问文件夹以创建文件并下载它。接下来我想让用户使用另一个意图打开图像:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(fileUri);//uri as returned form SAF when creating the file.

(intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 没有帮助)但是如果其他应用程序尝试打开文件,我会遇到不同的错误:

从意图解析文件名时未找到 com.google.android.apps.photos 的权限授予或错误:权限拒绝:从 ProcessRecord{731d51b 4366:com.rhmsoft.edit/u0a277} 打开提供程序 com.android.externalstorage.ExternalStorageProvider( pid=4366, uid=10277) 要求您使用 ACTION_OPEN_DOCUMENT 或相关 API 获取访问权限

好像是第22条?我只使用 uri(我没有任何文件,也不需要它)但我无法共享使用 SAF 创建的文件?

非常感谢!

4

0 回答 0