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

- 发布:2021-01-05 23:07
- 更新:2021-03-23 13:37
- 阅读:1988
产品分类: HTML5+
HBuilderX版本号: 3.0.4
手机系统: Android
手机系统版本号: Android 10
手机厂商: 华为
手机机型: 红米note7 pro
打包方式: 云端
示例代码:
操作步骤:
见描述
见描述
预期结果:
见描述
见描述
实际结果:
见描述
见描述
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"
王伟锋 (作者)
不是啊,我是先保存到相册,然后在使用相册图片的本地链接分享也不行的
还有在apicloud那边就有插件,可以实现直接使用系统分享,调起微信好友进行分享
https://docs.apicloud.com/Client-API/Open-SDK/inShare
2021-01-11 13:46
DCloud_Android_ST
回复 王伟锋: 单图用sendWithSystem就行。多图有客户端限制。至于指定类型目前做不到。后续我们会调研看看
2021-01-11 14:43
p***@163.com
回复 DCloud_Android_ST: 我单图分享朋友圈也不行,报获取资源失败,分享好友可以
2021-01-21 16:35