uni-app 安卓targetVersion=29时,部分机型无法运行uni.chooseImage和uni.chooseVideo

uni-app 安卓targetVersion=29时,部分机型无法运行uni.chooseImage和uni.chooseVideo

开发环境 版本号 项目创建方式
Windows Win10 HBuilderX

操作步骤:

上架时被VIVO拒绝,理由是无法上传图片和视频。VIVO上架的测试人员还给出了录屏,确实点击上传没任何反应。 我自己测了一下,在targetVersion=29时,确实有遇到图片无法上传的情况,改成targetVersion=28就可以了。 因为我手头上没有足够的手机可以复现,还望官方自己能测试复现一下。

预期结果:

上架时被VIVO拒绝,理由是无法上传图片和视频。VIVO上架的测试人员还给出了录屏,确实点击上传没任何反应。 我自己测了一下,在targetVersion=29时,确实有遇到图片无法上传的情况,改成targetVersion=28就可以了。 因为我手头上没有足够的手机可以复现,还望官方自己能测试复现一下。

实际结果:

上架时被VIVO拒绝,理由是无法上传图片和视频。VIVO上架的测试人员还给出了录屏,确实点击上传没任何反应。 我自己测了一下,在targetVersion=29时,确实有遇到图片无法上传的情况,改成targetVersion=28就可以了。 因为我手头上没有足够的手机可以复现,还望官方自己能测试复现一下。

bug描述:

上架时被VIVO拒绝,理由是无法上传图片和视频。VIVO上架的测试人员还给出了录屏,确实点击上传没任何反应。 我自己测了一下,在targetVersion=29时,确实有遇到一张图片无法上传的情况,改成targetVersion=28就可以了。 因为我手头上没有足够的手机可以复现,还望官方自己能测试复现一下。


更多关于uni-app 安卓targetVersion=29时,部分机型无法运行uni.chooseImage和uni.chooseVideo的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

别一堆重复文字描述。也没看明白!到底是chooseImage出问题还是上传出问题?代码这么调用的 ?完整流程是什么样的? 示例代码发下?是否能复现概率怎样?

更多关于uni-app 安卓targetVersion=29时,部分机型无法运行uni.chooseImage和uni.chooseVideo的实战教程也可以访问 https://www.itying.com/category-93-b0.html


米10自尊,target29无法上传传的图片:

这个问题确实与Android 10(targetSdkVersion=29)的存储权限变更有关。在Android 10中引入了分区存储(Scoped Storage)机制,对文件访问权限做了更严格的限制。

解决方案:

  1. 在manifest.json中添加以下配置:
"android": {
    "compileSdkVersion": 29,
    "targetSdkVersion": 29,
    "permissionExternalStorage": {
        "request": "none"
    }
}
  1. 确保在调用uni.chooseImage/uni.chooseVideo前已获取必要权限:
uni.authorize({
    scope: 'scope.writePhotosAlbum',
    success() {
        // 调用选择图片/视频
    }
});
回到顶部