安卓分享9宫格图片到微信

首先感谢@DCloud_Android_磊子,test_weixin_share_mul_pic这个是他写给我的,我只做了一点小改动
用法,先setShareMsg把当前页面的商品名称、相册存到全局变量msg,然后调用shareToWechat弹出actionSheet选择分享到朋友圈或者发送给好友。
函数代码如下:

  function setShareMsg(goodsdata){
msg.content = msg.title = goodsdata.goods_name;
/* 分享图片 */
mui.each(goodsdata.pictures, function(i, n){
msg.pictures.push( n.url );
});
/* 分享链接 */
msg.href = mui.constMap.SERVER_HOST + "/mobile/goods.php?id=" + goodsdata.id ;
msg.thumbs.push("_www/72.png");
var userdata = getCachedUser();
if(userdata ){
msg.href += "&father=" + userdata.user.wx.wxid;
}
msg.brief = goodsdata.goods_brief;
getShortUrl(msg.href, function(result){
if(! result.error_code){
msg.url_short = result[0].url_short;
}
});
}
/**
* 发送分享消息
* @param {plus.share.ShareService} s
*/
function shareMessage(ex) {
var pictures = [];
var pic_unloaded = msg.pictures.length ;
function onStateChanged( d, status ) {
switch(d.state){
case 4:
if(status == 200){
console.log("图片下载完成:" + d.filename);
pictures.push( plus.io.convertLocalFileSystemURL(d.filename) );
pic_unloaded --;
if(pic_unloaded == 0){
copyToClip( msg.title + (msg.url_short || msg.href) + "\r\n" + msg.brief );
mui.toast("标题已复制,请长按黏贴");
console.log(JSON.stringify(pictures));
test_weixin_share_mul_pic(ex, pictures, msg.title + (msg.url_short || msg.href) + "\r\n" + msg.brief);
}
} else {
mui.toast("下载图片失败");
}
break;
case 1:
console.log("下载开始");
break;
case 2:
console.log("请求已响应");
break;
case 3:
console.log("下载进行中");
break;
default:
console.log("state: " + d.state);
break;
}
}
mui.toast("下载图片中,即将打开微信分享...");
mui.each(msg.pictures, function(i, n){
// 创建下载任务
var dtask = plus.downloader.createDownload( n );
dtask.addEventListener( "statechanged", onStateChanged, false );
dtask.start();
});
}
function shareToWechat(){
var shareto = ['com.tencent.mm.ui.tools.ShareToTimeLineUI', 'com.tencent.mm.ui.tools.ShareImgUI'];
plus.nativeUI.actionSheet( {title:"分享到微信",cancel:"取消",buttons:[{title:"分享到微信朋友圈"},{title:"发送给微信好友"}]}, function(e){
console.log( "User pressed: "+ e.index);
shareMessage(shareto[e.index - 1]);
} );
}
function test_weixin_share_mul_pic(ex, pics, description){
var Intent = plus.android.importClass('android.content.Intent');
var ComponentName = plus.android.importClass('android.content.ComponentName');
var ArrayList = plus.android.importClass('java.util.ArrayList');
var Uri = plus.android.importClass('android.net.Uri');
var Environment = plus.android.importClass('android.os.Environment');
var File = plus.android.importClass('java.io.File');
//var sdcardDir = plus.android.invoke(Environment.getExternalStorageDirectory(),'getAbsolutePath');
var intent = new Intent();
var localComponentName = new ComponentName("com.tencent.mm", ex);
intent.setComponent(localComponentName);
intent.setAction("android.intent.action.SEND_MULTIPLE");
intent.setType("image/*");
var localArrayList = new ArrayList();
for(var i =0;i< pics.length;i++){
var filePath = pics[i]; //sdcardDir +
//console.log('filePath=' + filePath);
localArrayList.add(Uri.fromFile(new File(filePath)));
}
intent.putParcelableArrayListExtra("android.intent.extra.STREAM", localArrayList);
intent.putExtra(Intent.EXTRA_TEXT, description);
var act = plus.android.runtimeMainActivity();
act.startActivity(intent);
}
\n
10 分享 关注
DCloud_heavensoft 感受呼吸 CaiZD 非正常码农 DCloud_客服_Trust dalian234@sina.com yszhang 827887@qq.com 810726685@qq.com liujzwudi@163.com
深海智行

深海智行 回复 3265357339@qq.com

QQ:2579915825
0 赞 3 天前
3265357339@qq.com

3265357339@qq.com 回复 深海智行

求指导
0 赞 2018-09-07 11:38
505058216@qq.com

505058216@qq.com

加上intent = Intent.createChooser(intent, description);属性,可以单独打开APP
0 赞 2018-08-03 15:50
dalian234@sina.com

dalian234@sina.com 回复 2275325041@qq.com

我有,联系QQ 19864038
0 赞 2018-05-29 17:15
m@tanhaibo.com

m@tanhaibo.com

如果使用网络图片,能不能直接分享,而不需要下载。
0 赞 2018-04-20 14:21
深海智行

深海智行

关于iOS多图分享,也可以联系我,指导解决。
1 赞 2018-04-06 20:10
freedemon

freedemon

ios实现此功能需要离线打包进行插件开发,可以自己去研究一下原生怎么实现,不愿意研究的可以付费让我帮忙集成。
0 赞 2018-03-16 09:49
freedemon

freedemon 回复 2275325041@qq.com

ios实现此功能需要离线打包进行插件开发,可以自己去研究一下原生怎么实现,不愿意研究的可以付费让我帮忙集成。
0 赞 2018-03-16 09:49
2275325041@qq.com

2275325041@qq.com

请问IOS上怎么实现分享9宫格图片到微信朋友圈
0 赞 2017-12-29 17:52
2275325041@qq.com

2275325041@qq.com 回复 macless@qq.com

同关注,
0 赞 2017-12-29 17:21
macless@qq.com

macless@qq.com

请问IOS上怎么实现分享9宫格图片到微信朋友圈
1 赞 2017-12-25 23:34
zhangyongbo51job@163.com

zhangyongbo51job@163.com

请问下,ios怎么处理?
0 赞 2017-12-22 19:09
菜鸡

菜鸡

看样子是要离线打包啊
0 赞 2017-12-07 14:38
Android_磊子

Android_磊子

分享多图,且带文字描述。
来试试:intent.putExtra('Kdescription', '我是图片描述');
0 赞 2017-11-27 12:34
378860743@qq.com

378860743@qq.com

求助,按照上面文章,已经实现了分享多张图片到朋友圈,但是要怎么能将文字内容一起粘贴到朋友圈文字输入框呢?

还有个问题,如果使用网络图片,能不能直接分享,而不需要下载。
@DCloud_heavensoft @DCloud_Android_磊子
0 赞 2017-11-26 17:08
林暗风

林暗风

act.startActivity 报错 你们怎么解决的
0 赞 2017-06-29 15:50
云钦

云钦

可读性不怎么好
0 赞 2016-07-07 22:08
Never_xk

Never_xk

想请问下,除了文本框,其他标签的文本无法被选中,怎么解决,css属性修改了也不起作用,大神可否解惑?
0 赞 2016-03-23 14:09
DCloud_heavensoft

DCloud_heavensoft

建议编辑一下,使用markdown,把代码高亮起来
0 赞 2015-03-19 16:23

要回复文章请先登录注册