sharesdk 的使用
社交分享组件有很多 介绍一下sharesdk 的使用
1、先上效果图
2、主要代码:
- public class TestShare extends Activity {
- private RelativeLayout sina;
- private RelativeLayout sms;
- private RelativeLayout qq;
- private RelativeLayout chat;
- private TextView invite_code;
- private Context context;
- private String[] items = new String[] { "分享给好友", "分享到朋友圈" };
- private String share_content;
- private String user_id;
- private static final int SHARE_SUCCESS = 30;
- private static final int SHARE_FAIL = 31;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- this.setContentView(R.layout.test_share);
- context = TestShare.this;
- ShareSDK.initSDK(this);
- sina = (RelativeLayout) this.findViewById(R.id.share_sina);
- qq = (RelativeLayout) this.findViewById(R.id.share_qq);
- chat = (RelativeLayout) this.findViewById(R.id.share_chat);
- sms = (RelativeLayout) this.findViewById(R.id.share_sms);
- share_content = this.getResources().getString(R.string.share_content);
- sina.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- // 分享到新浪微博
- // showShare(true, SinaWeibo.NAME,TestShare.this);
- share(share_content, null, SinaWeibo.NAME);
- }
- });
- qq.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- // 分享到腾讯微博
- // showShare(true, TencentWeibo.NAME, TestShare.this);
- share(share_content, null, TencentWeibo.NAME);
- }
- });
- chat.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- showChatDialog();
- }
- });
- sms.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- sendSms(share_content, "");
- }
- });
- }
- // 新浪微博分享 腾讯微博等只需修改 NAME
- public void share(String text, String photopath, String sharename) {
- Platform.ShareParams sp = new SinaWeibo.ShareParams();
- sp.text = text;
- if (photopath != null) {
- // sp.imagePath = "/mnt/sdcard/测试分享的图片.jpg";
- sp.imagePath = photopath;
- }
- Platform weibo = ShareSDK.getPlatform(context, sharename);
- // 设置分享事件回调
- weibo.setPlatformActionListener(new PlatformActionListener() {
- public void onError(Platform platform, int action, Throwable t) {
- // 操作失败的处理代码
- Message m = handler.obtainMessage();
- m.what = SHARE_FAIL;
- TestShare.this.handler.sendMessage(m);
- }
- public void onComplete(Platform platform, int action,
- HashMap<String, Object> res) {
- // 操作成功的处理代码
- Message m = handler.obtainMessage();
- m.what = SHARE_SUCCESS;
- TestShare.this.handler.sendMessage(m);
- }
- public void onCancel(Platform platform, int action) {
- // 操作取消的处理代码
- }
- });
- // 执行图文分享
- weibo.share(sp);
- }
- @Override
- protected void onDestroy() {
- // TODO Auto-generated method stub
- ShareSDK.stopSDK(this);
- super.onDestroy();
- }
- // 发送短信
- public void sendSms(final String content, final String to) {
- Uri smsToUri = Uri.parse("smsto:".concat(to));
- Intent intent = new Intent(android.content.Intent.ACTION_SENDTO,
- smsToUri);
- intent.putExtra("sms_body", content);
- startActivity(intent);
- }
- /**
- * 显示选择对话框
- */
- private void showChatDialog() {
- new AlertDialog.Builder(this).setTitle("分享到")
- .setItems(items, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- switch (which) {
- case 0:
- share(share_content, null, Wechat.NAME);
- break;
- case 1:
- share(share_content, null, WechatMoments.NAME);
- break;
- }
- }
- })
- .setNegativeButton("取消", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- }).show();
- }
- private Handler handler = new Handler() {
- /*
- * (non-Javadoc)
- *
- * @see android.os.Handler#handleMessage(android.os.Message)
- */
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- switch (msg.what) {
- case SHARE_SUCCESS:
- Toast.makeText(TestShare.this, "分享成功", Toast.LENGTH_SHORT)
- .show();
- break;
- case SHARE_FAIL:
- Toast.makeText(TestShare.this, "分享失败", Toast.LENGTH_SHORT)
- .show();
- break;
- }
- }
- };
- }
3、 需要的jar包 ShareSDK-Core.jar 是sdk核心包 ,Wechat是微信核心包,Wechat分享到好友,Wechat-Moments 分享到朋友圈。
另 android-support-v4.jar 需要使用官网下载的。
4、代码混淆
混淆文件在demo中说明,直接更改就可以使用
sharesdk 的使用的更多相关文章
- iOS集成sharesdk遇到的坑
分享新浪微博 ★★★分享新浪微博★★★ 前言: 写这个目地是为了记录那些过坑,直接先上效果图.大家看看如果你遇到了应该如果处理更好,因为刚一看到这个效果的时候就明白其实很简单不就是分享微博吧.但是要求 ...
- Android中使用ShareSDK集成分享功能
引言 现在APP开发集成分享功能已经是非常普遍的需求了.其他集成分享技术我没有使用过,今天我就来介绍下使用ShareSDK来进行分享功能开发的一些基本步骤和注意点,帮助朋友们避免一些坑.好了 ...
- ShareSDK分享失败的原因
关于分享估计很多都用的是ShareSDK的社会化分享,简单方便,支持的种类很多,但是一般的话都还是QQ,微信,新浪微博,腾讯微博为主. 最近需要导入一个分享的模块,失败了几次之后最终成功,分享给大家, ...
- 用ShareSDK 进行第三方分享
1.首先要先注册自己的appkey在shareSDK官网里面 2.下载shareSDK 文档,可以根据需要下载自己需要的 如图 3.将下载好的shareSDK 解压后加入工程里面 4.添加依赖库 // ...
- iOS之ShareSDK实现分享、第三方登录等功能
(1)官方下载ShareSDK iOS 2.8.8,地址:http://sharesdk.cn/ (2)根据实际情况,引入相关的库,参考官方文档. (3)在项目的AppDelegate中一般情况下有三 ...
- shareSDK实现分享操作时只显示英文字体
今天用shareSDK实现分享操作时,突然发现分享视图只显示英文字体,而之前是显示中文的,以下是自己找到的解决方法: ,首先,找到shareSDk里的“ShareSDKUI_Localizable.s ...
- 第三方登录分享功能-ShareSDK for iOS适配问题记录
最近app里需要添加第三方授权登陆和分享的功能,选择了ShareSDK,参考了ShareSDK文档对该SDK进行了适配,但遇到了一些问题 1.问题:分享功能点击不跳转 原因:适配iOS9添加白名单 ...
- ShareSDK 集成 Google+ 登录 400. Error:redirect_uri_mismatch 和 Error Domain=ShareSDKErrorDomain Code=204
最近在集成ShareSDK中 Google+ 登录授权时候 出现了如下几个问题 1. 400. Error:redirect_uri_mismatch 出现这种情况, redirectUri应 ...
- 集成ShareSDK,分享成功后QQ和空间回调不执行的可能原因
AndroidMainifest.xml中的如箭头所示的id与assets下ShareSDK.xml中配置的QQ的AppId一定要相同.
- 使用ShareSDK 时注意的问题
1.使用ShareSDK 社会分享SDK(实现第三方登录) 1.QQ第三方登录时,如果是TencentSessionDelegate出现问题,或者是TencentApiInterface的框架出现问题 ...
随机推荐
- VC++ 列表控件的使用方法
列表控件可以看作是功能增强的ListBox,它提供了四种风格,而且可以同时显示一列的多中属性值.MFC中使用CListCtrl类来封装列表控件的各种操作. 通过调用BOOL Create( DWORD ...
- unix环境高级编程-读书笔记与习题解答-第一篇
从这周开始逐渐的进入学习状态,每天晚上都会坚持写c程序,并且伴随对这本书的深入,希望能写出更高质量的读书笔记和程序. 本书的第一章,介绍了一些关于unix的基础知识,在这里我不想去讨论linux到底是 ...
- RH6030 单通道触摸感应开关
1.概述: RH6030 是一款单通道电容式触摸感应控制开关IC,可以替代传统的机械式开关. 该 IC 采用CMOS 工艺制造,结构简单,性能稳定.IC 可通过外部引脚配置成多种工作模式,可广泛应用于 ...
- win平台下, 检测网络是否连接最好的办法
[Delphi]检查URL是否有效的函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 function CheckUr ...
- 使用 InstallShield limited edition 打包部署Outlook 2013 Office add-in插件
原文: Outlook: Deploying an Outlook 2013 add-in (using InstallShield LE) Today I had to create an inst ...
- Android Wear开发 - 数据通讯 - 第三节 : 事件处理
http://developer.android.com/training/wearables/data-layer/events.html 以下是本人在学习官方开发文档时的笔记,主要是翻译为主,并在 ...
- android如何获取默认的桌面程序
[方法1] http://stackoverflow.com/questions/12594192/remove-activity-as-default-launcher/12594332#12594 ...
- 我的第一个wp8小程序
一:截图,功能介绍:点击音乐红色按钮,播放铃声 二:代码 XAML代码 <phone:PhoneApplicationPage x:Class="PhoneApp1.MainPage& ...
- JQuery获取元素宽度.width()与.css(‘width’)两个函数的区别
整理翻译自:http://blog.jquery.com/2012/08/16/jquery-1-8-box-sizing-width-csswidth-and-outerwidth/ 大意是: 在J ...
- tyvj P1517 飘飘乎居士的乌龟(最大流)
P1517 飘飘乎居士的乌龟 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 飘飘乎居士养了乌龟.当然,这些乌龟是用来出售赚取利润的. 描述 飘飘乎居士的乌龟 ...