在Android Studio中使用shareSDK进行社会化分享(图文教程)
[百科] 时间:2024-05-08 22:18:15 来源:寿比南山网 作者:探索 点击:91次
1 package com.smyhvae.sharedemo; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import android.os.Handler; 6 import android.os.Message; 7 import android.view.View; 8 import android.widget.AdapterView; 9 import android.widget.Button; 10 import android.widget.Toast; 11 12 import java.util.HashMap; 13 14 import cn.sharesdk.framework.Platform; 15 import cn.sharesdk.framework.Platform.ShareParams; 16 import cn.sharesdk.framework.PlatformActionListener; 17 import cn.sharesdk.framework.ShareSDK; 18 import cn.sharesdk.sina.weibo.SinaWeibo; 19 import cn.sharesdk.tencent.qq.QQ; 20 import cn.sharesdk.wechat.friends.Wechat; 21 import cn.sharesdk.wechat.moments.WechatMoments; 22 23 24 public class MainActivity extends Activity implements View.OnClickListener,使用社 25 PlatformActionListener { 26 27 private Button shareButton; 28 ShareDialog shareDialog; 29 30 @Override 31 protected void onCreate(Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 setContentView(R.layout.activity_main); 34 initView(); 35 //1、分享的进行初始化 36 ShareSDK.initSDK(this); 37 } 38 39 private void initView() { 40 shareButton = (Button) findViewById(R.id.shareButton); 41 shareButton.setOnClickListener(this); 42 } 43 44 @Override 45 public void onClick(View v) { 46 switch (v.getId()) { 47 case R.id.shareButton: 48 shareDialog = new ShareDialog(this); 49 shareDialog.setCancelButtonOnClickListener(new View.OnClickListener() { 50 51 @Override 52 public void onClick(View v) { 53 shareDialog.dismiss(); 54 55 } 56 }); 57 shareDialog.setOnItemClickListener(new AdapterView.OnItemClickListener() { 58 59 @Override 60 public void onItemClick(AdapterView<?> arg0, View arg1, 61 int arg2, long arg3) { 62 HashMap<String, Object> item = (HashMap<String, Object>) arg0.getItemAtPosition(arg2); 63 if (item.get("ItemText").equals("微博")) { 64 65 //2、设置分享内容 66 ShareParams sp = new ShareParams(); 67 sp.setText("我是化分分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本 68 sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul 69 70 //3、非常重要:获取平台对象 71 Platform sinaWeibo = ShareSDK.getPlatform(SinaWeibo.NAME); 72 sinaWeibo.setPlatformActionListener(MainActivity.this); // 设置分享事件回调 73 // 执行分享 74 sinaWeibo.share(sp); 75 76 } else if (item.get("ItemText").equals("微信好友")) { 77 Toast.makeText(MainActivity.this,享图 "您点中了" + item.get("ItemText"), Toast.LENGTH_LONG).show(); 78 79 //2、设置分享内容 80 ShareParams sp = new ShareParams(); 81 sp.setShareType(Platform.SHARE_WEBPAGE);//非常重要:一定要设置分享属性 82 sp.setTitle("我是文教分享标题"); //分享标题 83 sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本 84 sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul 85 sp.setUrl("http://sharesdk.cn"); //网友点进链接后,可以看到分享的详情 86 87 //3、非常重要:获取平台对象 88 Platform wechat = ShareSDK.getPlatform(Wechat.NAME); 89 wechat.setPlatformActionListener(MainActivity.this); // 设置分享事件回调 90 // 执行分享 91 wechat.share(sp); 92 93 94 } else if (item.get("ItemText").equals("朋友圈")) { 95 //2、使用社设置分享内容 96 ShareParams sp = new ShareParams(); 97 sp.setShareType(Platform.SHARE_WEBPAGE); //非常重要:一定要设置分享属性 98 sp.setTitle("我是进行分享标题"); //分享标题 99 sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本100 sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul101 sp.setUrl("http://sharesdk.cn"); //网友点进链接后,可以看到分享的详情102 103 //3、非常重要:获取平台对象104 Platform wechatMoments = ShareSDK.getPlatform(WechatMoments.NAME);105 wechatMoments.setPlatformActionListener(MainActivity.this); // 设置分享事件回调106 // 执行分享107 wechatMoments.share(sp);108 109 } else if (item.get("ItemText").equals("QQ")) { 110 //2、化分设置分享内容111 ShareParams sp = new ShareParams();112 sp.setTitle("我是享图分享标题");113 sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");114 sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul115 sp.setTitleUrl("http://www.baidu.com"); //网友点进链接后,可以看到分享的详情116 //3、非常重要:获取平台对象117 Platform qq = ShareSDK.getPlatform(QQ.NAME);118 qq.setPlatformActionListener(MainActivity.this); // 设置分享事件回调119 // 执行分享120 qq.share(sp);121 122 }123 124 125 shareDialog.dismiss();126 127 }128 });129 130 break;131 132 default:133 break;134 }135 136 }137 138 @Override139 public void onCancel(Platform arg0,文教 int arg1) { //回调的地方是子线程,进行UI操作要用handle处理140 handler.sendEmptyMessage(5);141 142 }143 144 @Override145 public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) { //回调的地方是子线程,进行UI操作要用handle处理146 if (arg0.getName().equals(SinaWeibo.NAME)) { // 判断成功的平台是不是新浪微博147 handler.sendEmptyMessage(1);148 } else if (arg0.getName().equals(Wechat.NAME)) { 149 handler.sendEmptyMessage(1);150 } else if (arg0.getName().equals(WechatMoments.NAME)) { 151 handler.sendEmptyMessage(3);152 } else if (arg0.getName().equals(QQ.NAME)) { 153 handler.sendEmptyMessage(4);154 }155 156 }157 158 @Override159 public void onError(Platform arg0, int arg1, Throwable arg2) { //回调的地方是子线程,进行UI操作要用handle处理160 arg2.printStackTrace();161 Message msg = new Message();162 msg.what = 6;163 msg.obj = arg2.getMessage();164 handler.sendMessage(msg);165 }166 167 Handler handler = new Handler() { 168 169 @Override170 public void handleMessage(Message msg) { 171 switch (msg.what) { 172 case 1:173 Toast.makeText(getApplicationContext(), "微博分享成功", Toast.LENGTH_LONG).show();174 break;175 176 case 2:177 Toast.makeText(getApplicationContext(), "微信分享成功", Toast.LENGTH_LONG).show();178 break;179 case 3:180 Toast.makeText(getApplicationContext(), "朋友圈分享成功", Toast.LENGTH_LONG).show();181 break;182 case 4:183 Toast.makeText(getApplicationContext(), "QQ分享成功", Toast.LENGTH_LONG).show();184 break;185 186 case 5:187 Toast.makeText(getApplicationContext(), "取消分享", Toast.LENGTH_LONG).show();188 break;189 case 6:190 Toast.makeText(getApplicationContext(), "分享失败啊" + msg.obj, Toast.LENGTH_LONG).show();191 break;192 193 default:194 break;195 }196 }197 198 };199 200 }
(责任编辑:娱乐)
相关内容