友盟分享到各大平台代码整合

package com.hksj.opendoor.util;


import android.app.Activity;
import android.content.Context;


import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.controller.UMServiceFactory;
import com.umeng.socialize.controller.UMSocialService;
import com.umeng.socialize.media.MailShareContent;
import com.umeng.socialize.media.QQShareContent;
import com.umeng.socialize.media.QZoneShareContent;
import com.umeng.socialize.media.RenrenShareContent;
import com.umeng.socialize.media.SinaShareContent;
import com.umeng.socialize.media.SmsShareContent;
import com.umeng.socialize.media.UMImage;
import com.umeng.socialize.sso.EmailHandler;
import com.umeng.socialize.sso.QZoneSsoHandler;
import com.umeng.socialize.sso.SmsHandler;
import com.umeng.socialize.sso.UMQQSsoHandler;
import com.umeng.socialize.weixin.controller.UMWXHandler;
import com.umeng.socialize.weixin.media.CircleShareContent;
import com.umeng.socialize.weixin.media.WeiXinShareContent;


public class ShareUtils {
// public static final String DESCRIPTOR = "com.umeng.share";
// public static final String ICON_NAME = "umengshare.png";// 分享图片
// public static String shareContent;// 分享内容
// public static String shareIntentUrl;// 分享跳转url
// public static String shareTitle;// 分享题目


private Context mContext;
// private Activity mActivity;
private String mUrl;
private final UMSocialService mController = UMServiceFactory
.getUMSocialService(DataUtil.DESCRIPTOR);


public ShareUtils(Context context, String url) {
mContext = context;
// mActivity = activity;
mUrl = url;
}


/**
* @param shareContent 分享内容
* @param shareIntentUrl 分享后跳转的url
* @param shareTitle 分享标题
* @param umImage 分享图片(可以是file, 网络图片, drawable.id)
*/
public void showShare(String shareContent, String shareIntentUrl,
String shareTitle, UMImage umImage) {
// sharePic sharePic = IconUtils.getsharePic(ICON_NAME);
// if (null == sharePic || !sharePic.exists()) {
// T.showLongMessage(mContext, "设置分享图片失败");
// }
addCustomPlatforms();
// 设置分享内容
mController.setShareContent(shareContent);
// 设置分享图片, sharePic为图片文件
mController.setShareMedia(umImage);


final String allShareUrl = shareIntentUrl;
mController.setAppWebSite(SHARE_MEDIA.RENREN, allShareUrl);
mController.getConfig().setPlatforms(SHARE_MEDIA.RENREN,
SHARE_MEDIA.QQ, SHARE_MEDIA.EMAIL, SHARE_MEDIA.QZONE,
SHARE_MEDIA.SINA, SHARE_MEDIA.SMS, SHARE_MEDIA.WEIXIN,
SHARE_MEDIA.WEIXIN_CIRCLE);
mController.openShare((Activity) mContext, false);
// 设置微信好友分享内容
WeiXinShareContent weixinContent = new WeiXinShareContent();
// 设置分享文字
weixinContent.setShareContent(shareContent);
// 设置title
weixinContent.setTitle(shareTitle);
// 设置分享内容跳转URL
weixinContent.setTargetUrl(shareIntentUrl);
// 设置分享图片
weixinContent.setShareImage(umImage);
mController.setShareMedia(weixinContent);


// 设置微信朋友圈分享内容
CircleShareContent circleMedia = new CircleShareContent();
// 设置分享文字
circleMedia.setShareContent(shareTitle + "\n" + shareContent);
// 设置朋友圈title
circleMedia.setTitle(shareTitle + "\n" + shareContent);
circleMedia.setShareImage(umImage);
circleMedia.setTargetUrl(shareIntentUrl);
mController.setShareMedia(circleMedia);


// 设置QQ分享内容
QQShareContent qqShareContent = new QQShareContent();
// 设置分享文字
qqShareContent.setShareContent(shareContent);
// 设置分享title
qqShareContent.setTitle(shareTitle);
qqShareContent.setShareImage(umImage);
// 设置点击分享内容的跳转链接
qqShareContent.setTargetUrl(shareIntentUrl);
mController.setShareMedia(qqShareContent);


// 设置QQ空间分享内容
QZoneShareContent qzone = new QZoneShareContent();
qzone.setShareContent(shareContent);
qzone.setTargetUrl(shareIntentUrl);
qzone.setTitle(shareTitle);
qzone.setShareImage(umImage);
mController.setShareMedia(qzone);


// 设置sina分享内容
SinaShareContent sinaShareContent = new SinaShareContent();
sinaShareContent.setShareContent(shareContent + (shareIntentUrl));
sinaShareContent.setShareImage(umImage);
sinaShareContent.setTitle(shareTitle);
sinaShareContent.setAppWebSite(shareTitle);
sinaShareContent.setTargetUrl(shareIntentUrl);
mController.setShareMedia(sinaShareContent);


// 设置renren分享内容
RenrenShareContent renrenShareContent = new RenrenShareContent();
renrenShareContent.setShareContent(shareContent + (shareIntentUrl));
renrenShareContent.setShareImage(umImage);
renrenShareContent.setTitle(shareTitle);
renrenShareContent.setAppWebSite(shareIntentUrl);
mController.setShareMedia(renrenShareContent);


// 设置邮件分享内容, 如果需要分享图片则只支持本地图片
MailShareContent mail = new MailShareContent();
mail.setTitle(shareTitle);
mail.setShareContent(shareContent + (shareIntentUrl));
mController.setShareMedia(mail);


// 设置短信分享内容
SmsShareContent sms = new SmsShareContent();
sms.setShareContent(shareContent + (shareIntentUrl));
mController.setShareMedia(sms);
}


public void addCustomPlatforms() {
// 添加微信平台
addWXPlatform();//改
// 添加QQ平台
addQQQZonePlatform();//改
// 添加短信平台
addSMS();
// 添加email平台
addEmail();
}


/**
* @功能描述 : 添加微信平台分享
* @return
*/
private void addWXPlatform() {
// 注意:在微信授权的时候,必须传递appSecret
// wx2c7eaa07d2099680是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID
String appId = "wxd2ed1148d0f645cd";
String appSecret = "353eff0fca731e3cb86753262b9a447f";
// 添加微信平台
UMWXHandler wxHandler = new UMWXHandler(mContext, appId, appSecret);
wxHandler.addToSocialSDK();


// 支持微信朋友圈
UMWXHandler wxCircleHandler = new UMWXHandler(mContext, appId,
appSecret);
wxCircleHandler.setToCircle(true);
wxCircleHandler.addToSocialSDK();
}


/**
* @功能描述 : 添加QQ平台支持 QQ分享的内容, 包含四种类型, 即单纯的文字、图片、音乐、视频. 参数说明 : title, summary,
*       image url中必须至少设置一个, targetUrl必须设置,网页地址必须以"http://"开头 . title :
*       要分享标题 summary : 要分享的文字概述 image url : 图片地址 [以上三个参数至少填写一个] targetUrl
*       : 用户点击该分享时跳转到的目标地址 [必填] ( 若不填写则默认设置为友盟主页 )
* @return
*/
private void addQQQZonePlatform() {
String appId = "1104739541";
String appKey = "XhLXBL4F5kmb2qGW";
// 添加QQ支持, 并且设置QQ分享内容的target url
UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler((Activity) mContext,
appId, appKey);
qqSsoHandler.setTargetUrl(mUrl);
qqSsoHandler.addToSocialSDK();


// 添加QZone平台
QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(
(Activity) mContext, appId, appKey);
qZoneSsoHandler.addToSocialSDK();
}


/**
* 添加短信平台</br>
*/
private void addSMS() {
// 添加短信
SmsHandler smsHandler = new SmsHandler();
smsHandler.addToSocialSDK();
}


/**
* 添加Email平台</br>
*/
private void addEmail() {
// 添加email
EmailHandler emailHandler = new EmailHandler();
emailHandler.addToSocialSDK();
}


}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值