import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Toast; import java.util.HashMap; import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.Platform.ShareParams;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments; public class MainActivity extends Activity implements View.OnClickListener,
PlatformActionListener { private Button shareButton;
ShareDialog shareDialog; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
//1、分享的初始化
ShareSDK.initSDK(this);
} private void initView() {
shareButton = (Button) findViewById(R.id.shareButton);
shareButton.setOnClickListener(this);
} @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.shareButton:
shareDialog = new ShareDialog(this);
shareDialog.setCancelButtonOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
shareDialog.dismiss(); }
});
shareDialog.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
/*
HashMap<String, Object> item = (HashMap<String, Object>) arg0.getItemAtPosition(arg2);
if (item.get("ItemText").equals("微博")) { //2、设置分享内容
ShareParams sp = new ShareParams();
sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本
sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul //3、非常重要:获取平台对象
Platform sinaWeibo = ShareSDK.getPlatform(SinaWeibo.NAME);
sinaWeibo.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
// 执行分享
sinaWeibo.share(sp); } else if (item.get("ItemText").equals("微信好友")) {
Toast.makeText(MainActivity.this, "您点中了" + item.get("ItemText"), Toast.LENGTH_LONG).show(); //2、设置分享内容
ShareParams sp = new ShareParams();
sp.setShareType(Platform.SHARE_WEBPAGE);//非常重要:一定要设置分享属性
sp.setTitle("我是分享标题"); //分享标题
sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本
sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
sp.setUrl("http://sharesdk.cn"); //网友点进链接后,可以看到分享的详情 //3、非常重要:获取平台对象
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
wechat.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
// 执行分享
wechat.share(sp); } else if (item.get("ItemText").equals("朋友圈")) {
//2、设置分享内容
ShareParams sp = new ShareParams();
sp.setShareType(Platform.SHARE_WEBPAGE); //非常重要:一定要设置分享属性
sp.setTitle("我是分享标题"); //分享标题
sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本
sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
sp.setUrl("http://sharesdk.cn"); //网友点进链接后,可以看到分享的详情 //3、非常重要:获取平台对象
Platform wechatMoments = ShareSDK.getPlatform(WechatMoments.NAME);
wechatMoments.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
// 执行分享
wechatMoments.share(sp); } else if (item.get("ItemText").equals("QQ")) {
//2、设置分享内容
ShareParams sp = new ShareParams();
sp.setTitle("我是分享标题");
sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");
sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
sp.setTitleUrl("http://www.baidu.com"); //网友点进链接后,可以看到分享的详情
//3、非常重要:获取平台对象
Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
// 执行分享
qq.share(sp);*/ private void shareQQ() {
// 2、设置分享内容
ShareParams sp = new ShareParams();
sp.setTitle(getString(R.string.share));
sp.setText(getString(R.string.share_text));
sp.setImageUrl(getString(R.string.share_image_Url));// 网络图片rul
sp.setTitleUrl(getString(R.string.share_title_url)); // 网友点进链接后,可以看到分享的详情
// 3、非常重要:获取平台对象
Platform qq = ShareSDK.getPlatform(QQ.NAME);
qq.setPlatformActionListener(ActivityAbout.this); // 设置分享事件回调
// 执行分享
qq.share(sp);
} } }
}); break; default:
break;
} } @Override
public void onCancel(Platform arg0, int arg1) {//回调的地方是子线程,进行UI操作要用handle处理
handler.sendEmptyMessage(5); } @Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {//回调的地方是子线程,进行UI操作要用handle处理
if (arg0.getName().equals(SinaWeibo.NAME)) {// 判断成功的平台是不是新浪微博
handler.sendEmptyMessage(1);
} else if (arg0.getName().equals(Wechat.NAME)) {
handler.sendEmptyMessage(1);
} else if (arg0.getName().equals(WechatMoments.NAME)) {
handler.sendEmptyMessage(3);
} else if (arg0.getName().equals(QQ.NAME)) {
handler.sendEmptyMessage(4);
} } @Override
public void onError(Platform arg0, int arg1, Throwable arg2) {//回调的地方是子线程,进行UI操作要用handle处理
arg2.printStackTrace();
Message msg = new Message();
msg.what = 6;
msg.obj = arg2.getMessage();
handler.sendMessage(msg);
} Handler handler = new Handler() { @Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
Toast.makeText(getApplicationContext(), "微博分享成功", Toast.LENGTH_LONG).show();
break; case 2:
Toast.makeText(getApplicationContext(), "微信分享成功", Toast.LENGTH_LONG).show();
break;
case 3:
Toast.makeText(getApplicationContext(), "朋友圈分享成功", Toast.LENGTH_LONG).show();
break;
case 4:
Toast.makeText(getApplicationContext(), "QQ分享成功", Toast.LENGTH_LONG).show();
break; case 5:
Toast.makeText(getApplicationContext(), "取消分享", Toast.LENGTH_LONG).show();
break;
case 6:
Toast.makeText(getApplicationContext(), "分享失败啊" + msg.obj, Toast.LENGTH_LONG).show();
break; default:
break;
}
} }; }

Share SDK分享的更多相关文章

  1. Unity利用Share SDK实现QQ、微信及微博第三方登录及定制内容分享(附代码)

    最近因为公司的项目需要添加一些实用性的功能,需要添加第三方登录及分享,采用的是Mob的SDK,可以先到其官网下载对应的SDK 点击这里,为了方便后期进行数据统计和分析,所以可以先添加一个应用,添加成功 ...

  2. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    [源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...

  3. 微信sdk分享,苹果手机分享到qq好友和qq空间没有反应

    最近线上程序苹果手机进行微信分享时,分享到qq好友和qq空间,无法调用分享程序,从微信跳转到qq后就没有反应了,但是安卓手机分享就没事? 解决:调用微信sdk分享时,分享的url(link)的参数不能 ...

  4. 重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

    原文:重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 Web ...

  5. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容

    [源码下载] 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容 作 ...

  6. iOS:友盟SDK分享

    友盟SDK分享   基本步骤: 1.注册友盟开发者账号 2.登陆账号,添加新应用,获取AppKey 3.下载并安装SDK 4.解压SDK压缩包,将形如UMSocial_sdk_x.x.x文件拖入工程中 ...

  7. Android 微信SDK分享功能中的最全过程步骤分析

    在前面有一章已经分析过怎么用官方的demo分享微信信息了,在这里我就不再多说,其中关于在自己应用分享说得很简单,本文作者也是经过一番折腾才弄成功,为了以后让大家都少走弯路,决定在这里从头到尾介绍怎么在 ...

  8. 微信js sdk分享开发摘记java版

    绑定域名和引入js的就不说了 废话不说直接上代码 public void share(HttpServletRequest request) throws Exception { StringBuff ...

  9. 关于 share 音乐分享官方文档补充

    例子 音乐分享 /*--------微信朋友圈--------*/ [shareParams SSDKSetupWeChatParamsByText:@"内容" title:@&q ...

随机推荐

  1. ./configure --prefix=

    一直用这个选项prefix=,但不知道,啥意思. 转载自:----------------------------------------------------------------------- ...

  2. js刷新

    jquery刷新页面的实现代码(局部及全页面刷新) 发布:mdxy-dxy 字体:[增加 减小] 类型:转载 jquery刷新页面的实现代码(局部及全页面刷新) ,需要的朋友可以参考下. 局部刷新: ...

  3. Unity3d 接入 移动MM支付SDK(2.3) 全攻略

    原地址:http://blog.csdn.net/dingxiaowei2013/article/details/26842177 先将例程运行起来 下载例程(csdn积分不够上传不了,只能用百度网盘 ...

  4. tornado解析http body的过程分析

    tornado解析http body的过程分析 在最近写的一个RESTful API Server过程中,发现tornaod对解析POST BODY的内容有限制. 而在以前用web.py则没有这个限制 ...

  5. ADO.NET EF实体框架

    ADO.NET 实体框架概述 随着.NET Framework 3.5 SP1和Visual Studio 2008 SP1的正式发布.ADO.NET 实体框架正式来到开发人员的面前,它使开发人员可以 ...

  6. SPOJ 3643 /BNUOJ 21860 Traffic Network

    题意:现在已有m条单向路,问在给你的k条双向路中选择一条,使得s到t的距离最短 思路:设双向路两端点为a,b;长度为c. s到t的有三种情况: 1:原本s到t的路径 2:从s到a,a到b,b再到t的路 ...

  7. 【PHPsocket编程专题(实战篇②)】兼容 Curl/Socket/Stream 的 HTTP 操作类[转]

    <?php /************************************************************ * 描述:HTTP操作类 * 作者:heiyeluren ...

  8. 一起学Maven

    转载自:http://blog.csdn.net/songdeitao/article/details/18452459 一. 初识Maven 开场白 在现在的项目开发过程中,越来越重视项目的管理,而 ...

  9. 一个java的DES加解密类转换成C#

    原文:一个java的DES加解密类转换成C# 一个java的des加密解密代码如下: //package com.visionsky.util; import java.security.*; //i ...

  10. 浅析Quartz的集群配置

    浅析Quartz的集群配置(一) 收藏人:Rozdy     2015-01-13 | 阅:1  转:22    |   来源   |  分享               1 基本信息 摘要:Quar ...