uni-app 安卓13为什么会提示中文的储存权限?

发布于 1周前 作者 yibo5220 来自 Uni-App

uni-app 安卓13为什么会提示中文的储存权限?

操作步骤:

  • 国外安卓13手机,使用app

预期结果:

  • 预期结果,储存权限的弹窗是英文或者系统语言;或者没有弹窗

实际结果:

  • 英文状态下是中文的弹窗

bug描述:

  • 系统语言英文,安卓13机型,为什么会有弹窗中文的储存权限???在安卓13以下就没有
  • 如何调整弹窗内容,或者去掉储存权限弹窗
  • 在app权限里,都没有找到储存权限的按钮操作

图片

Image 1 Image 2

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 11
HBuilderX 正式
HBuilderX版本 3.8.4
手机系统 Android
手机系统版本号 Android 13
手机厂商 三星
手机机型 zfold4
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

1 回复

uni-app 开发的应用中,当在 Android 13 及以上版本中提示“储存权限”时,系统会默认使用中文提示,这是因为 Android 系统会根据设备的语言设置自动选择相应的语言来显示权限请求对话框。

具体原因和背景:

  1. 系统语言设置

    • Android 系统会根据用户设备的语言设置(如简体中文)来显示权限提示信息。如果设备语言设置为中文,权限提示就会以中文显示。
  2. 权限提示内容由系统控制

    • Android 13 中,权限提示的内容(包括“储存权限”)是由操作系统自动生成的,而不是由开发者自定义的。因此,系统会根据设备的语言设置选择合适的语言。
  3. 储存权限的变更

    • 在 Android 13 中,Google 引入了更细粒度的文件权限管理,例如 READ_MEDIA_IMAGESREAD_MEDIA_VIDEO 等,取代了之前的 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE 权限。如果应用请求这些权限,系统会根据权限类型和语言设置显示相应的提示。
  4. uni-app 的权限配置

    • uni-app 中,如果需要请求储存权限,可以在 manifest.json 中配置相应的权限。例如:
      {
        "permissions": [
          "android.permission.READ_EXTERNAL_STORAGE",
          "android.permission.WRITE_EXTERNAL_STORAGE"
        ]
      }
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!