本片博客主要介绍了使用友盟sdk实现第三方平台的分享功能,以集成QQ,QQZONE,微信,微信朋友圈为例讲解。
以上步骤在上一篇文章中已经写的很详细了,请参考: http://blog.csdn.net/qq_27942511/article/details/71123931
代码调用 官方文档上面写的情况比较复杂,会很费时间,下面就来说一下我接入的情况 private ShareAction mShareAction; private void handleShare(final String data) { mShareAction = new ShareAction(getActivity()).setDisplayList(SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE) .setShareboardclickCallback(new ShareBoardlistener() { @Override public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) { JSONObject jsonObject = null; try { jsonObject = new JSONObject(data); } catch (JSONException e) { e.printStackTrace(); } if (jsonObject != null) { UMWeb web = new UMWeb(jsonObject.optString("url")); web.setTitle(jsonObject.optString("title")); web.setDescription(jsonObject.optString("shareContent")); web.setThumb(new UMImage(getActivity(), jsonObject.optString("imageURL"))); new ShareAction(getActivity()).withMedia(web) .setPlatform(share_media) .setCallback(umShareListener) .share(); } else { LogUtil.logByE("data == null"); } } }); mShareAction.open(); } private UMShareListener umShareListener = new UMShareListener() { @Override public void onStart(SHARE_MEDIA platform) { //分享开始的回调 } @Override public void onResult(SHARE_MEDIA platform) { LogUtil.logByD("plat", "platform" + platform); AppUtil.showToastMsg(getActivity(), "分享成功"); } @Override public void onError(SHARE_MEDIA platform, Throwable t) { if (t != null) { LogUtil.logByE("throw:" + t.getMessage()); AppUtil.showToastMsg(getActivity(), "分享失败"); } } @Override public void onCancel(SHARE_MEDIA platform) { AppUtil.showToastMsg(getActivity(), "分享取消"); } };以上就是所有的代码,下面看一下效果图
如果想分享更加复杂的内容,请参考官方文档: http://dev.umeng.com/social/android/share-detail#4