Android13无法使用SAF授权访问data目录

使用SAF授权访问data目录在android12的时候还能用,到了13就提示无法使用此文件夹,请问要改哪里才能正常授权?

在 Android 11(API 级别 30)及更高版本中,SAF(Storage Access Framework)的使用发生了一些变化。

在旧版本的 Android 中,SAF 的操作是通过 Intent 来完成的,开发者可以调用 ACTION_OPEN_DOCUMENT、ACTION_CREATE_DOCUMENT 等 Action 来启动文件选择器、新建文件等操作,以此来获取 SAF URI 来访问到特定的文件的。

而在 Android 11、12、13中,SAF 的操作需要添加以下权限:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />

需要注意的是,从 Android 11 开始,MANAGE_EXTERNAL_STORAGE 权限是受到限制的,只有符合特定条件的应用程序才能获得该权限。这些应用程序必须:

在除 Google Play 之外的渠道进行分发。
需要提供文件管理器等外部存储空间访问功能,以便用户可以上传或下载文件等操作。
需要将应用程序标记为 system level,以便在设备首次启动时就可以安装。