微信分享给好友

本文介绍如何使用JavaScript Bridge在微信环境中实现分享功能,包括指定分享链接、图片及不同场景下的分享方式。
手机微信里,分享给好友时,在当前页面指定分享的URL和图片




function share_scene(link, scene_type){
var extargs = "";
if (tid != ""){//gdt traceid
extargs = "tid=" + tid + "&aid=" + 54;//share must be 54
}
var queryStr = link.split('?')[1] || '';
queryStr = queryStr.split('#')[0];
if( queryStr == '' ){
return;
}

var queryarr = [queryStr, 'scene='+scene_type];
(extargs != "") && (queryarr.push(extargs));
queryStr = queryarr.join('&');

return link.split('?')[0] + '?' + queryStr + '#' + (link.split('#')[1]||'');
}


function onBridgeReady(){
// 发送给好友;
//安卓分享时会调用此函数
WeixinJSBridge.on('menu:share:appmessage', function(argv){
WeixinJSBridge.invoke('sendAppMessage',{
"appid" : appId,
"img_url" : imgUrl,
"img_width" : "640",
"img_height" : "640",
"link" : share_scene(link, 1),
"desc" : desc,
"title" : title
}, function(res) {

});
});


// 新的接口
//苹果分享时会调用此函数
WeixinJSBridge.on('menu:general:share', function(argv){
var scene = 0;
switch(argv.shareTo){
case 'friend' : scene = 1; break;
case 'timeline': scene = 2; break;
case 'weibo' : scene = 3; break;
}

argv.generalShare({
"appid" : appId,
"img_url" : imgUrl,
"img_width" : "640",
"img_height" : "640",
"link" : share_scene(link,scene),
"desc" : desc,
"title" : title
}, function(res){

});
});


}


if (typeof WeixinJSBridge == "undefined"){
if( document.addEventListener ){
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
}else if (document.attachEvent){
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
}else{
onBridgeReady();
}

在Android应用中集成微信分享功能,通常需要借助微信开放平台提供的SDK。以下是简单的步骤: 1. 注册微信公众平台账号:首先,在微信公众平台上注册一个服务号或订阅号,并获取AppID。 2. 下载微信Android SDK:从微信公众平台下载“微信JS-SDK”包,它包含了用于分享功能的JavaScript代码以及配置文件WXApi.js。 3. 配置微信授权信息:在AndroidManifest.xml中添加权限,并在application标签下配置`meta-data`节点,提供AppID和签名: ```xml <meta-data android:name="WXAppId" android:value="your_app_id"/> <meta-data android:name="weixin.mini_program" android:value="true" /> ``` 4. 初始化微信分享:在Activity或Fragment中初始化SDK,一般在onCreate()方法里调用`WXEntryActivity.wxEntry activity()`方法: ```java if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // For Android Oreo and above, use the new way to initialize WeChat WritableMap options = new WritableHashMap<>(); options.putString("appid", "your_app_id"); WXEntryActivity.wxEntryActivity(options); } else { // For older versions, use the old way String appId = "your_app_id"; WXEntryActivity.startActivityForResult(this, WXEntryActivity.WEIXIN_MINIProgram_ENTRY_ACTIVITY_FLAG, appId); } ``` 5. 调用微信分享API:在希望用户分享的时刻,可以使用`WXApi.sendReq()`方法发送分享请求,传递内容、标题、描述等参数。例如: ```java // 创建分享的content intent Intent shareIntent = new Intent(); shareIntent.setAction("com.tencent.mm.action.SHARE_TO Moments"); // 设置分享的内容 WXMediaMessage msg = new WXMediaMessage(); msg.title = "分享的标题"; msg.description = "分享的文字描述"; msg图片路径 = getFilePath("path_to_your_image.jpg"); // 替换为实际图片路径 // 将消息封装到bundle中 WXFileUtil.transcodeLocalResourceToTempFile(msg.mediaObject.getLocalPath(), new OnTranscodeCallback() { @Override public void onSuccess(String filePath) { msg.setMediaObject(new WXMediaObject().setThumbImage(filePath)); } }); WXApi.sendReq(WXApi instance, msg); ``` 6. 异常处理:记得处理可能出现的异常,并向用户显示友好的提示。 完成以上步骤后,当用户点击分享按钮,你的应用就可以通过微信将内容分享好友了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值