调整 Android 12 以从普通应用程序访问 SD 卡文件

cal*_*doa 5 permissions android android-sdcard

我最近购买了搭载 Android 12 的三星 Galaxy S20 FE,我很快注意到许多应用程序无法访问 SD 卡上的文件。例如,我曾经从不同的浏览器或音乐播放器访问本地 HTML/MP3 文件。在我的新系统上,这些应用程序可以查看文件夹并浏览它们,但无法打开甚至列出任何常规文件。有一些例外,例如 Total Commander 或 AIMP。

据我了解,这是 Google 的一项政策更改,出现在 Android 11 (API/SDK 30) 上:https ://www.xda-developers.com/android-11-all-files-access-permission-form/

我尝试了一些可以在网上找到的解决方案,例如:
pm grant com.XXX.YYY android.permission.MANAGE_EXTERNAL_STORAGE
appops set --uid com.XXX.YYY android:legacy_storage allow

这不起作用,因为应用程序(我尝试使用 Opera)可能在安装过​​程中没有请求此权限。此外,我能找到的大多数解决方案都与正在开发的应用程序相关,而不是从商店安装的应用程序。例如:Android 11 范围存储权限

我可以找到的一个解决方法是将所有文件移入/storage/SD_CARD_ID/Android/data/com.XXX.YYY/files,但是,这意味着每次安装新应用程序以及我使用的每个应用程序时都必须复制这些文件,如果我有 GB 的 MP3 或其他文件,这是非常愚蠢的媒体。在 URL 栏中输入完整路径也非常繁琐,因为无法轻松导航到或打开此文件夹。

因此,我试图找到一种方法来默认为所有应用程序启用权限,或者至少找到一种通过 GUI 来执行此操作的简单方法。例如,我尝试/etc/permissions/platforms.xml进行一些或多或少的随机尝试进行调整,因为我找不到有关该文件语法的任何文档,但没有任何效果。

请注意,我的手机已root。