uni-app uni.share分享功能在安卓上二次分享没有效果
uni-app uni.share分享功能在安卓上二次分享没有效果
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | 21H1 | HBuilderX |
示例代码:
const thirdShare = (shareParam) => {
if (shareParam.provider === 'qq') {
delete shareParam.scene
}
//微博分享图片仅支持本地路径
if (shareParam.provider === 'sinaweibo') {
downloadFile(shareParam).then(res => {
if (shareParam.serviceType == 1) {
shareParam.imageUrl = ''
} else {
shareParam.imageUrl = res.tempFilePath
}
shareParam.summary = shareParam.title + ',' + shareParam.summary
console.log("App拉起分享" + JSON.stringify(shareParam))
return uniShare(shareParam)
})
} else {
console.log("App拉起分享" + JSON.stringify(shareParam))
return uniShare(shareParam)
}
}
操作步骤:
首页-点击作品进入详情-点击分享-选择微信分享-弹出微信-分享-返回App-继续点击分享
预期结果:
可以分享,再次弹出微信界面
实际结果:
没有反应
bug描述:
uni.share分享,安卓二次分享没有效果,猜测可能与video标签层级有关,没有video情况可以二次分享,页面中存在video标签的时候只能分享一次,再次分享没有效果
更多关于uni-app uni.share分享功能在安卓上二次分享没有效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html
本地打包 app\src\main\assets\data\dcloud_properties.xml 把里面不用的分享项 注释掉 重新打包就可以了
<feature name="Share" value="io.dcloud.share.ShareFeatureImpl">
更多关于uni-app uni.share分享功能在安卓上二次分享没有效果的实战教程也可以访问 https://www.itying.com/category-93-b0.html
根据你的描述,这个问题很可能与uni-app在Android平台上的页面生命周期和组件层级管理有关。当页面中存在video组件时,它可能影响了分享功能的正常调用,尤其是在连续分享的场景下。
从技术层面分析,video组件在Android上属于原生组件,其层级较高,可能会覆盖部分H5页面元素。当你第一次分享后返回App,页面状态可能没有完全恢复,导致第二次调用uni.share时无法正常触发分享界面。
建议尝试以下方案:
-
延迟分享调用:在第二次分享前加入短暂延迟,确保页面完全恢复。
setTimeout(() => { uniShare(shareParam); }, 100); -
检查页面生命周期:在
onShow生命周期中确认分享功能是否可用。 -
临时隐藏video组件:在分享前将
video组件设置为不可见,分享后再恢复。<video v-if="!isSharing" ...></video>


