在Android Studio中使用shareSDK进行社会化分享(图文教程)

[百科] 时间:2024-05-08 22:18:15 来源:寿比南山网 作者:探索 点击:91次

在Android Studio中使用shareSDK进行社会化分享(图文教程)

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 }

(责任编辑:娱乐)

相关内容
精彩推荐
热门点击
友情链接