2***@qq.com
2***@qq.com
  • 发布:2021-01-05 23:07
  • 更新:2021-03-23 13:37
  • 阅读:1747

【报Bug】plus.share.sendWithSystem调用系统分享的bug和建议

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.0.4

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 红米note7 pro

打包方式: 云端

示例代码:

plus.share.sendWithSystem({
type:'image',
pictures:['/storage/emulated/0/1/1.jpg','/storage/emulated/0/DCIM/tb_image_share_1595759006466.jpg'],
extra:{"scene": "WXSceneSession"},
});

操作步骤:

见描述

预期结果:

见描述

实际结果:

见描述

bug描述:

链接
plus.share.sendWithSystem
的extra参数并不能调起微信的好友进行分享。

另外在dcloud问答,有一个NJS的方法可以指定调起微信好友进行分享,代码如下。

var Intent = plus.android.importClass('android.content.Intent');  
var intent = new Intent();  
var Uri = plus.android.importClass('android.net.Uri');   
var File = plus.android.importClass('java.io.File');  

var ComponentName = plus.android.importClass('android.content.ComponentName');  
var comp = new ComponentName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI")  
intent.setComponent(comp);  
intent.setAction(intent.ACTION_SEND);  
intent.setType("image/*");  
intent.putExtra(intent.EXTRA_TEXT, '我是文案');  

intent.putExtra(intent.EXTRA_STREAM, Uri.fromFile(new File('/storage/emulated/0/1/1.jpg')));  
var act = plus.android.runtimeMainActivity();  
act.startActivity(intent);

但是targetSdkVersion大于23之后。安卓系统不允许应用之间分享文件时使用file:// 的协议,需要使用 content://协议。但 content://协议需要离线打包。难度很大。而且很多人都不会

虽然有集成的微信分享sdk包,但是会有小尾巴(分享来源),有些业务,是不允许存在 小尾巴的。例如淘客

所以官方是否可以在plus.share.sendWithSystem增加一些参数,可以直接指定某个应用分享。指定“微信好友”、“微信朋友圈”、“qq好友”、“qq空间”
例如微信好友是: "com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI"

2021-01-05 23:07 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

多图分享失败是微信客户端限制问题。目前没有好办法。可以将图片保存到相册再分享。不过得到用户反馈说部分华为手机就算保存到相册也有概率无法正确分享。

  • 2***@qq.com (作者)

    不是啊,我是先保存到相册,然后在使用相册图片的本地链接分享也不行的

    还有在apicloud那边就有插件,可以实现直接使用系统分享,调起微信好友进行分享

    https://docs.apicloud.com/Client-API/Open-SDK/inShare

    2021-01-11 13:46

  • DCloud_Android_ST

    回复 2***@qq.com: 单图用sendWithSystem就行。多图有客户端限制。至于指定类型目前做不到。后续我们会调研看看

    2021-01-11 14:43

  • p***@163.com

    回复 DCloud_Android_ST: 我单图分享朋友圈也不行,报获取资源失败,分享好友可以

    2021-01-21 16:35

p***@163.com

p***@163.com - 90后IT

是安卓报的,ios没有问题

  • 2***@qq.com (作者)

    iOS好像系统分享根本就不能知道到微信好友吧,需要自己选择

    2021-01-21 16:46

  • p***@163.com

    回复 2***@qq.com: 我这边IOS系统分享到好友或朋友圈都没有问题,就是安卓分享朋友圈报获取资源失败

    2021-01-21 16:53

  • 2***@qq.com (作者)

    回复 p***@163.com: 我也有这个情况,应该是bug。目前的方法应该只有离线打包了。然后使用njs

    2021-01-21 16:56

  • p***@163.com

    回复 2***@qq.com: 我准备安卓用uni.share了

    2021-01-21 17:00

  • 2***@qq.com (作者)

    回复 p***@163.com: 真好,可惜我是html5开发的,用不了uni

    2021-01-22 14:26

腊肉

腊肉

我uni打包的h5里面用的plus.share.sendWithSystem,安卓能正常唤起所有分享,ios直接就闪退,贼尴尬

  • 2***@qq.com (作者)

    我不是用uni的,sendWithSystem是可以调起,但不能调起指定的分享,例如指定微信分享

    2021-03-25 15:45

该问题目前已经被锁定, 无法添加新回复