You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13+ Capacitor应用文件系统权限异常:无法保存PDF

Android 13+ 下 Capacitor Filesystem 权限异常:无法保存PDF文件

我需要在用户智能手机的文件系统中保存.pdf文件,按照Capacitor的Filesystem相关文档操作后,在Android 13及以上版本遇到了权限问题,该功能在Android 12上可正常运行。

已执行的操作

  • 在AndroidManifest.xml文件中添加权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  • 编写权限检查代码:
getFilesystemAccess(): Promise<boolean> {
  return new Promise(async (resolve) => {
    const status = await Filesystem.checkPermissions()
    const state = status.publicStorage

    if (state === 'granted') {
      console.log('权限已授予 -> 执行文件保存')
      return resolve(true)
    } else if (state === 'denied') {
      console.log('权限已拒绝 -> 引导用户手动修改权限')
      if(await this._requestToEditSettings('ALLOW_FILESYSTEM_ACCESS'))
      NativeSettings.open({
        optionAndroid: AndroidSettings.ApplicationDetails,
        optionIOS: IOSSettings.App,
      })
    } else {
      Filesystem.requestPermissions()
    }
    return resolve(false)
  })
}

遇到的问题

  • 即使用户从未拒绝过权限,state仍显示为denied
  • 用户打开应用设置后,无法找到并启用文件系统访问权限
  • 尝试添加Android 13细分媒体权限,问题未解决:
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />

补充:我知道可以通过Intent实现相关功能,但不清楚具体怎么写。有没有人遇到过相同问题并找到了解决方案?

内容的提问来源于stack exchange,提问作者Raphaël Balet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:55:18