集成步奏看官网介绍    下面是集成demo

源码:http://download.csdn.net/detail/lm_zp/9594675

这里讲自定义每个分享的监听

/*** 分享界面* SharedActivity.java* Car273* * Created by * Copyright (c) 1998-2014 273.cn. All rights reserved.*/package com.car273.activity;import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler.Callback;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.Platform.ShareParams;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.framework.utils.UIHandler;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.system.text.ShortMessage;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.tencent.qzone.QZone;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;public class SharedActivity extends Activity implements OnClickListener,PlatformActionListener, Callback {/** 退出分享按钮 */private Button share_cancel;/** 分享到朋友圈按钮 */private LinearLayout share_circleFriend;/** 分享到微信好友按钮 */private LinearLayout share_wxFriend;/** 分享到QQ空间按钮 */private LinearLayout share_qzone;/** 分享到QQ好友按钮 */private LinearLayout share_qqFriend;/** 分享到短信按钮 */private LinearLayout share_shortMessage;/** 分享到新浪微博按钮 */private LinearLayout share_sinaWeibo;/** 分享按钮的布局 */private LinearLayout linearLayout_allShareButton;/** 分享的标题部分 */private String share_title;/** 分享的文字内容部分 */private String share_text;/** 分享的图片部分 */private String share_image;/** 分享的网址部分 */private String share_url;/** 分享数据的集合体 */private HashMap<String, Object> map;/** 分享图片数据 */private Drawable drawable = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.share_item_dialog);// 组件初始化initView();// 数据初始化initData();// 组件添加监听initAddOnClickListener();}/*** 定义一个函数将dp转换为像素* @param context* @param dp* @return*/public int Dp2Px(float dp) { final float scale = getResources().getDisplayMetrics().density; return (int) (dp * scale / 2); }/*** @数据初始化*/private void initData() {// 初始化sdk分享资源ShareSDK.initSDK(this);// 初始化要属相的内容share_title = "度娘好深的沟";share_text = "度娘在哪里,请点击这里好么?";share_image = "http://www.cctime.com/upLoadFile/2012/1/18/2012118101653355.jpg";share_url = "http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&ipn=d&cl=2&cm=1&sc=0&lm=-1&fr=ala2&pn=0&rn=1&di=0&ln=24&word=%B6%C8%C4%EF&objurl=http%3A%2F%2Fimage1%2Enbd%2Ecom%2Ecn%2Fuploads%2Farticles%2Fthumbnails%2F4454%2FQQ%5F%5F%5F%5F%5F%5F20120110102334%2Ex%5Flarge%2Ejpg#pn1&-1&di0&objURLhttp%3A%2F%2Fwww.cctime.com%2FupLoadFile%2F2012%2F1%2F18%2F2012118101653355.jpg&fromURLippr_z2C%24qAzdH3FAzdH3Fooo_z%26e3Bvvpt4j_z%26e3Bv54AzdH3Fip4sAzdH3Fda8d-8-8bAzdH3Fda8d88b8a8mc0dbb8_z%26e3Bip4&W400&H600&T0&S84&TPjpg";map = new HashMap<String, Object>();}/*** @组件初始化*/private void initView() {share_cancel = (Button) findViewById(R.id.share_cancel);share_cancel = (Button) findViewById(R.id.share_cancel);share_circleFriend = (LinearLayout) findViewById(R.id.linearLayout_ciclefriend);share_qqFriend = (LinearLayout) findViewById(R.id.LinearLayout_qqfriend);share_qzone = (LinearLayout) findViewById(R.id.linearLayout_qzone);share_shortMessage = (LinearLayout) findViewById(R.id.LinearLayout_shortmessage);share_sinaWeibo = (LinearLayout) findViewById(R.id.LinearLayout_sinaweibo);share_wxFriend = (LinearLayout) findViewById(R.id.linearLayout_weixin);linearLayout_allShareButton = (LinearLayout) findViewById(R.id.LinearLayout_allShareButton);}/*** @组件添加监听*/private void initAddOnClickListener() {share_cancel.setOnClickListener(this);share_circleFriend.setOnClickListener(this);share_qqFriend.setOnClickListener(this);share_qzone.setOnClickListener(this);share_shortMessage.setOnClickListener(this);share_sinaWeibo.setOnClickListener(this);share_wxFriend.setOnClickListener(this);}/** (non-Javadoc)* * @see android.view.View.OnClickListener#onClick(android.view.View)*/@Overridepublic void onClick(View v) {// 清空之前可能存在的分项数据if (map.size() != 0) {map.clear();}switch (v.getId()) {// 取消case R.id.share_cancel:SharedActivity.this.finish();break;// 分享到微信朋友圈case R.id.linearLayout_ciclefriend:share_CircleFriend();break;// 分享到QQ空间case R.id.linearLayout_qzone:share_Qzone();break;// 分享到微信好友case R.id.linearLayout_weixin:share_WxFriend();break;// 分享到QQ好友case R.id.LinearLayout_qqfriend:share_QQFriend();break;// 分享到短信case R.id.LinearLayout_shortmessage:share_ShortMessage();break;// 分享到新浪微博case R.id.LinearLayout_sinaweibo:share_SinaWeibo();break;default:break;}}/*** 分享到朋友圈*/private void share_CircleFriend() {Platform circle = ShareSDK.getPlatform(this, WechatMoments.NAME);if (!circle.isValid()) {InfoMessage.showMessage(this, "分享失败,请先安装微信");return;}map.put("AppId", ShareConfig.APPID_CIRCLE_FRIEND);map.put("AppSecret", ShareConfig.APPSECRET_CIRCLE_FRIEND);map.put("Enable", ShareConfig.ENABLE_CIRCLE_FRIEND);map.put("BypassApproval", ShareConfig.BYPASSAPPROVAL_CIRCLE_FRIEND);ShareSDK.setPlatformDevInfo(WechatMoments.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);cn.sharesdk.wechat.moments.WechatMoments.ShareParams sp = new cn.sharesdk.wechat.moments.WechatMoments.ShareParams();sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性sp.setTitle(share_title);sp.setText(share_text);sp.setImageData(null);sp.setImageUrl(share_image);sp.setImagePath("");sp.setUrl(share_url);circle.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享circle.share(sp);}/*** 分享到微信好友*/private void share_WxFriend() {Platform circle = ShareSDK.getPlatform(this, Wechat.NAME);if (!circle.isValid()) {InfoMessage.showMessage(this, "分享失败,请先安装微信");return;}map.put("AppId", ShareConfig.APPID_WXFRIEND);map.put("Enable", ShareConfig.ENABLE_WXFRIEND);map.put("BypassApproval", ShareConfig.BYPASSAPPROVAL_WXFRIEND);ShareSDK.setPlatformDevInfo(Wechat.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);ShareParams sp = new ShareParams();sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性sp.setTitle(share_title);sp.setText(share_text);sp.setImageData(null);sp.setImageUrl(share_image);sp.setImagePath("");sp.setUrl(share_url);circle.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享circle.share(sp);}/*** 分享到QQ空间*/private void share_Qzone() {map.put("AppId", ShareConfig.APPID_QZONE);map.put("AppKey", ShareConfig.APPKEY_QZONE);map.put("ShareByAppClient", ShareConfig.SHAREBYAPPCLIENT_QZONE);map.put("Enable", ShareConfig.ENABLE_QZONE);map.put("BypassApproval", ShareConfig.BYPASSAPPROVAL_QZONE);ShareSDK.setPlatformDevInfo(QZone.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);cn.sharesdk.tencent.qzone.QZone.ShareParams sp = new cn.sharesdk.tencent.qzone.QZone.ShareParams();sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性sp.setTitle(share_title);sp.setText(share_text);sp.setTitleUrl(share_url);sp.setImageUrl(share_image);sp.setImagePath("");sp.setSite("273业管");sp.setSite("273业管");Platform qzone = ShareSDK.getPlatform(this, QZone.NAME);qzone.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享qzone.share(sp);}/*** 分享到QQ好友*/private void share_QQFriend() {Platform circle = ShareSDK.getPlatform(this, QQ.NAME);if (!circle.isValid()) {InfoMessage.showMessage(this, "分享失败,请先安装QQ");return;}map.put("AppId", ShareConfig.APPID_QQFRIEND);map.put("AppKey", ShareConfig.APPKEY_QQFRIEND);map.put("Enable", ShareConfig.ENABLE_QQFRIEND);ShareSDK.setPlatformDevInfo(QQ.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);cn.sharesdk.tencent.qq.QQ.ShareParams sp = new cn.sharesdk.tencent.qq.QQ.ShareParams();sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性sp.setTitle(share_title);sp.setTitleUrl(share_url);sp.setText(share_text);sp.setImageUrl(share_url);sp.setImagePath("");circle.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享circle.share(sp);}/*** 分享到短信*/private void share_ShortMessage() {ShareSDK.setPlatformDevInfo(ShortMessage.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);cn.sharesdk.system.text.ShortMessage.ShareParams sp = new cn.sharesdk.system.text.ShortMessage.ShareParams();sp.setAddress("");sp.setText(share_text + share_url);Platform circle = ShareSDK.getPlatform(this, ShortMessage.NAME);circle.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享circle.share(sp);}/*** 分享到新浪微博*/private void share_SinaWeibo() {map.put("AppKey", ShareConfig.APPKEY_SINA_WEIBO);map.put("AppSecret", ShareConfig.APPSECRET_SINA_WEIBO);map.put("RedirectUrl", ShareConfig.REDIRECTURL_SINA_WEIBO);map.put("ShareByAppClient", ShareConfig.SHAREBYAPPCLIENT_SINA_WEIBO);map.put("Enable", ShareConfig.ENABLE_SINA_WEIBO);ShareSDK.setPlatformDevInfo(SinaWeibo.NAME, map);ShareSDK.initSDK(this, ShareConfig.APPKEY);cn.sharesdk.sina.weibo.SinaWeibo.ShareParams sp = new cn.sharesdk.sina.weibo.SinaWeibo.ShareParams();sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性sp.setText(share_text + share_url);sp.setImageUrl(share_image);sp.setImagePath("");Platform weibo = ShareSDK.getPlatform(this, SinaWeibo.NAME);weibo.setPlatformActionListener(this); // 设置分享事件回调// 执行图文分享weibo.share(sp);}/** (non-Javadoc)* * @see android.app.Activity#onDestroy()*/@Overrideprotected void onDestroy() {// TODO Auto-generated method stub// 取消分享菜单的统计ShareSDK.logDemoEvent(2, null);// 释放资源空间ShareSDK.stopSDK(this);super.onDestroy();}public void onComplete(Platform plat, int action,HashMap<String, Object> res) {Message msg = new Message();msg.arg1 = 1;msg.arg2 = action;msg.obj = plat;UIHandler.sendMessage(msg, this);}public void onCancel(Platform palt, int action) {Message msg = new Message();msg.arg1 = 3;msg.arg2 = action;msg.obj = palt;UIHandler.sendMessage(msg, this);}public void onError(Platform palt, int action, Throwable t) {t.printStackTrace();Message msg = new Message();msg.arg1 = 2;msg.arg2 = action;UIHandler.sendMessage(msg, this);}public boolean handleMessage(Message msg) {String text = actionToString(msg.arg2);switch (msg.arg1) {case 1:// 成功text = "分享成功";InfoMessage.showMessage(this, text);SharedActivity.this.finish();break;case 2:// 失败text = "分享失败";break;case 3:// 取消text = "分享已取消";break;}InfoMessage.showMessage(this, text);return false;}/** 将action转换为String */public static String actionToString(int action) {switch (action) {case Platform.ACTION_AUTHORIZING:return "ACTION_AUTHORIZING";case Platform.ACTION_GETTING_FRIEND_LIST:return "ACTION_GETTING_FRIEND_LIST";case Platform.ACTION_FOLLOWING_USER:return "ACTION_FOLLOWING_USER";case Platform.ACTION_SENDING_DIRECT_MESSAGE:return "ACTION_SENDING_DIRECT_MESSAGE";case Platform.ACTION_TIMELINE:return "ACTION_TIMELINE";case Platform.ACTION_USER_INFOR:return "ACTION_USER_INFOR";case Platform.ACTION_SHARE:return "ACTION_SHARE";default: {return "UNKNOWN";}}}/*** 从服务器取图片* * @param url* @return*/public static Drawable getHttpDrawable(String url) {URL myFileUrl = null;Bitmap bitmap = null;try {myFileUrl = new URL(url);} catch (MalformedURLException e) {e.printStackTrace();}try {HttpURLConnection conn = (HttpURLConnection) myFileUrl.openConnection();conn.setConnectTimeout(0);conn.setDoInput(true);conn.connect();InputStream is = conn.getInputStream();bitmap = BitmapFactory.decodeStream(is);is.close();} catch (IOException e) {e.printStackTrace();}return new BitmapDrawable(bitmap);}
}

ShareSDK分享相关推荐

  1. sharesdk分享qq空间-错误码1001

    使用sharesdk登录和分享的时候有时候会遇到错误码:1001的问题. 我再遇到1001错误的时候,是通过处理设置的参数搞定的. 应该注意一下几点: 1.url中有空格 2.文本信息过长 3.设置图 ...

  2. 总结shareSDK分享到各平台需注意

    总结shareSDK分享到各平台需注意: 1.apk签名文件和平台上使用签名工具生成的key是否一致 2.使用OnekeyShare类可设置一键分享的内容属性 3.若要修改shareSDK的分享内容界 ...

  3. Android app快速集成Mob shareSDK分享到微信和QQ

    Android app集成Mob shareSDK分享到微信和QQ 在线安装方法介绍 注意需要用到的appKey和appSecret 请自行到http://www.mob.com官网申请,这里不介绍申 ...

  4. sharesdk分享失败404_shareSDK微信分享图片url识别失败

    例: 图片链接 浏览器中可以打开,但使用shareSDK分享的时候,报错: IMG_2798.jpg 打印出的log: shareWechat: { item = ( { icon = "h ...

  5. ShareSDK分享集成详细过程

    ShareSDK分享功能详细集成步骤(针对没集成过的菜鸟而写,大神路过,如有不足欢迎指出) 官方集成文档 一.对于没有集成过的新手来说,首先是要拥有一个自己的Mob账号,如有请自动略过此部分 1.注册 ...

  6. 关于ShareSDK分享配置

    目录 ShareSDK分享配置 build.gradle配置:如下 ShareSdkUtils工具类 ShareData实体类 ShareSDK分享配置 build.gradle配置:如下 /*** ...

  7. android sharesdk分享功能,Android ShareSDK快速实现分享功能

    第一步 :获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK官方网站注册并且创建应用,获得ShareSDK的Appkey,然后到SDK的下载页面下载SDK的压缩包,解压以后可 ...

  8. sharesdk分享,自定义代码实现

    公司最近不景气,辞职后的日子刚开始还挺嗨皮,过两天闲的蛋都碎了,都四月份了,还是领到毕业证在找吧...... 不扯淡了,项目中经常有第三方等陆或者分享的功能,以下是我用sharesdk实现的步骤.. ...

  9. 通过第三方平台shareSDK分享链接

    在实际的项目开发中,需要用到分享功能,一方面可以通过其他App将自己的发现和兴趣等进行分享,展示好的创意.想法,另一方面可以通过分享功能为当前正在使用的App进行推广,如分享到用户量较大的社交平台,提 ...

  10. 全网最详细的Android实现三方分享ShareSDK分享功能

    当用户对这个软件有好感的时候,就会推荐给自己的好友.还有一种就是类似饿了么的,买完东西后可以分销你的红包给其他人,当然shareSDK的功能不仅如此,今天我们就来快速集成一下. 一.mob中创建应用, ...

最新文章

  1. DevOps时代测试应该如何应对?
  2. 量子计算远没到可收割的时候
  3. java组件化的优势_组件化编程开发如何判断组件的优劣性
  4. [云炬创业基础笔记]第十章企业的利润计划测试7
  5. oracle表名最大长度6,Oracle中表名的最大长度是多less?
  6. gettype拿不到值_拼多多场景实操——这样实操场景推广有效拿高投产【下篇】...
  7. Windows 相关链接
  8. 谷歌编码_如何通过学习编码赢得Google之旅
  9. 【安全】Kerberos协议介绍
  10. PHP 中和 HTTP 相关的函数及使用
  11. MySQL命令窗口下中文显示乱码的解决过程
  12. 大数据Hadoop之——Hadoop图形化管理系统Hue(Hue环境部署)
  13. 黑莓9900 刷机体验(ROM:7.1.0.318_DoCoMo_Japan版)
  14. 微软热招,一起定义未来的搜索引擎!
  15. linux gpu 地址空间,显卡内存和进程的虚拟地址空间
  16. 【代码记录】pytorch推理及与onnx推理精度对比
  17. 计算机硬盘改造u盘,iPhone扩容硬盘不要扔!变废为宝!手把手教你如何改装U盘...
  18. 数据结构 (C++)笔记6 (有序列表 排序器)
  19. 纯卡西欧计算器5800P坐标正反算
  20. 【软件测试】思维开拓—用软件测试的思维测试QQ好友是在线或者离线

热门文章

  1. 如何使用jQuery 制作全屏幕背景的嵌入视频
  2. GTD系列之我为什么使用GTD管理个人体系
  3. Mysql使用大全(MySQL架构与存储引擎 、事务 、业务设计 、索引 、数据结构 、执行计划 、数值类型)
  4. End-to-End Entity Resolution for Big Data: A Survey Matching部分学习笔记
  5. 完美解决安装MySQL Install/Remove of the Service Denied!错误解决办法
  6. 用Python通过163邮箱发送邮件
  7. 什么是Spring的依赖注入?
  8. Unity3D计时器制作
  9. PRD:抖音APP产品需求文档
  10. 千锋内部邮件曝光:学员高就业率的背后…