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;
}
} }; }

最新文章

  1. Request Tracker 4.0.13 发布
  2. asp.net 读取RedisSessionStateProvider配置
  3. 38.Android之ListView简单学习(一)
  4. 深入研究 Win32 结构化异常处理(好多相关文章)
  5. Http Clinet使用
  6. 风雨哈佛路(Homeless to Harvard: The Liz Murray Story)-献给困境中的人
  7. 在linq查询环境下通过sql语句来访问数据库
  8. ansible不配ssh连接,用户密码登录
  9. [置顶] 博客停止更新 &amp;&amp; 我的大学数年
  10. 《Python编程从入门到实践》_第六章_字典
  11. 监控mysql主从同步状态
  12. elasticsearch 之编译过程
  13. jQuery使用(三):DOM操作之val()方法操作表单元素value值
  14. python---ORM之SQLAlchemy(2)外键使用
  15. js scroll函数
  16. JTAG-测试数据寄存器
  17. maven3 学习
  18. Swift5 语言参考(一) 关于语言参考
  19. HTTPS知识小结
  20. session的创建与销毁

热门文章

  1. 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]。不能使用除法。
  2. PE文件结构详解(六)重定位
  3. 【Asp.Net MVC--资料汇总】杂七杂八
  4. C# 中使用JSON - DataContractJsonSerializer
  5. struts2-2.3.4.1的struts-default.xml源码
  6. javascript加速运动
  7. Oracle 10 - 数据库表
  8. docker: &quot;build&quot; requires 1 argument. See &#39;docker build --help&#39;.
  9. cojs 疯狂的魔法树 疯狂的颜色序列 题解报告
  10. JavaWeb项目开发案例精粹-第3章在线考试系统-003Dao层