uni-app 升级到3.1.2后 Vivo手机 Android11 微信分享失败

uni-app 升级到3.1.2后 Vivo手机 Android11 微信分享失败

| 开发环境 | 版本号 | 项目创建方式 |
|----------|--------|--------------|
| Windows  | win10  | HBuilderX     |

# 操作步骤:
- uni.share(OBJECT)

# 预期结果:
- 预期成功

# 实际结果:
- 实际失败

## bug描述:
升级到HX3.1.2后 小米的可以, 有的android11手机还是不行,没有提示android11分享异常, 但是分享完没有分享成功。
手机型号:vivo X60
21 回复

升级下微信客户端试试

更多关于uni-app 升级到3.1.2后 Vivo手机 Android11 微信分享失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


确定了下,微信是最新的。

回复 ManX: 提供完整示例项目吧 看看分享的内容我们也再测试下

回复 DCloud_Android_ST: 下面是原封不动的代码,除了图片地址是个参数链接

回复 ManX: 图片地址是什么发出来

回复 ManX: HX3.1.2默认基座能复现问题吗

回复 DCloud_Android_ST: 这个也是客户手机,来回也调试了好几次,我再沟通下看看能不能再配合测试下。

shareImg(e) {
const that = this;
console.log(‘分享地址’, that.shareurl)
if (e == 1) {
//分享图片到微信聊天
uni.share({
provider: “weixin”,
scene: “WXSceneSession”,
type: 2,
imageUrl: that.shareurl,
success: function(res) {
console.log(“success:” + JSON.stringify(res));
},
fail: function(err) {
console.log(“fail:” + JSON.stringify(err));
}
});
} else {
//分享图片到微信朋友圈
uni.share({
provider: “weixin”,
scene: “WXSenceTimeline”,
type: 2,
imageUrl: that.shareurl,
success: function(res) {
console.log(“success:” + JSON.stringify(res));
},
fail: function(err) {
console.log(“fail:” + JSON.stringify(err));
}
});
}
},

uni.share({ provider: “weixin”, scene: “WXSceneSession”, type: 2, imageUrl: “http://admin.xbkids.cn/admin_test/adminh/tchAdmin/certificate/base1/xinbo1320992-13k.png”, success: function (res) { console.log(“success:” + JSON.stringify(res)); }, fail: function (err) { console.log(“fail:” + JSON.stringify(err)); } });
HX3.1.2 测试用此代码测试也没发现异常,可能是设备问题 我们再看看吧

小米的手机我们测试过是可以的, 反馈的都是Vivo手机

回复 ManX: 你有相关设备吗 qq提供下

回复 DCloud_Android_ST: 没有设备,这边是远程发给客户的。QQ986189123

回复 ManX: 那就没有好方法了。我这边测试都是正常的。你确定你发给用户的apk 用户成功替换并使用了?

回复 DCloud_Android_ST: 如果没替换成功就会提示,android11分享异常的错误页面的

Andorid11 无法分享图片,老哥,解决了吗?

重新云打包试下

回复 DCloud_Android_ST: 请问5+App离线打包遇到这个问题如何解决? 手机升级成Android11之后,分享图片就报:分享异常,Android 11及以上系统的手机需要使用FileProvider方式分享

请问5+App离线打包遇到这个问题如何解决? 手机升级成Android11之后,分享图片就报:分享异常,Android 11及以上系统的手机需要使用FileProvider方式分享

同问这个问题

这是一个已知的Android 11权限适配问题。在Android 11上,微信分享需要额外处理文件访问权限。

解决方案:

  1. 在manifest.json中添加以下配置:
"android" : {
    "permissionExternalStorage" : {
        "request" : "none",
        "prompt" : "应用保存运行状态等信息,需要获取读写手机存储权限"
    }
}
  1. 在调用分享前,动态申请存储权限:
uni.authorize({
    scope: 'scope.writePhotosAlbum',
    success() {
        // 授权成功后再执行分享
        uni.share({
            provider: 'weixin',
            type: 0,
            scene: "WXSceneSession",
            title: '分享标题',
            summary: '分享内容',
            success: function (res) {
                console.log("success:" + JSON.stringify(res));
            },
            fail: function (err) {
                console.log("fail:" + JSON.stringify(err));
            }
        });
    }
});
  1. 如果仍然失败,可以尝试使用plus.share代替uni.share:
plus.share.sendWithSystem({
    type: 'text',
    content: '分享内容'
});
回到顶部