本文意在提供更便捷的分享和授权代码,仅供参考,希望可以给你带来更愉快的开发心情:

分享

分享分为两种方式:第一种通过OneKeyShare一键九宫格分享,第二种指定平台分享

一键九宫格分享多个平台

一键分享指的是通过OneKeyShare九宫格界面分享多个平台,不同平台分享不同的数据类型请参考:

OnekeyShare oks = new OnekeyShare();
oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {@Overridepublic void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) {//微博分享链接和图文if ("SinaWeibo".equals(platform.getName())) {paramsToShare.setText("玩美夏日,护肤也要肆意玩酷!" + "www.mob.com");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");}//微信好友分享网页if ("Wechat".equals(platform.getName())) {paramsToShare.setTitle("标题");paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");paramsToShare.setUrl("http://sharesdk.cn");paramsToShare.setShareType(Platform.SHARE_WEBPAGE);Log.d("ShareSDK", paramsToShare.toMap().toString());}//微信朋友圈分享图片if ("WechatMoments".equals(platform.getName())) {paramsToShare.setTitle("标题");paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");/*Bitmap imageData = BitmapFactory.decodeResource(getResources(), R.drawable.logo);paramsToShare.setImageData(imageData);*/paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");paramsToShare.setShareType(Platform.SHARE_IMAGE);          Log.d("ShareSDK", paramsToShare.toMap().toString());}//QQ分享链接if ("QQ".equals(platform.getName())) {paramsToShare.setTitle("标题");paramsToShare.setTitleUrl("http://sharesdk.cn");paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");Log.d("ShareSDK", paramsToShare.toMap().toString());}//支付宝好友分享网页if ("Alipay".equals(platform.getName())) {paramsToShare.setTitle("标题");paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");paramsToShare.setUrl("http://sharesdk.cn");paramsToShare.setShareType(Platform.SHARE_WEBPAGE);Log.d("ShareSDK", paramsToShare.toMap().toString());}//Facebook以卡片形式分享链接if ("Facebook".equals(platform.getName())) {//          paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");paramsToShare.setUrl("http://www.mob.com");paramsToShare.setShareType(Platform.SHARE_WEBPAGE);paramsToShare.setQuote("我是共用的参数");paramsToShare.setHashtag("测试话题分享");}//Twitter分享链接if("Twitter".equals(platform.getName())){paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");paramsToShare.setUrl("http://sharesdk.cn");}//WhatsApp分享图片if ("WhatsApp".equals(platform.getName())) {paramsToShare.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");}//短信分享文本if("ShortMessage".equals(platform.getName())){paramsToShare.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");paramsToShare.setTitle("标题");paramsToShare.setAddress("17625325208");}}
});
oks.setCallback(new PlatformActionListener() {@Overridepublic void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {Log.d("ShareLogin", "onComplete ---->  分享成功");}@Overridepublic void onError(Platform platform, int i, Throwable throwable) {Log.d("ShareLogin", "onError ---->  失败" + throwable.getStackTrace());Log.d("ShareLogin", "onError ---->  失败" + throwable.getMessage());}@Overridepublic void onCancel(Platform platform, int i) {Log.d("ShareLogin", "onCancel ---->  分享取消");}
});// 启动分享GUI
oks.show(MobSDK.getContext());

指定平台分享

主流平台分享示例

这里列举下微信分享网页和QQ分享链接

  • 微信分享网页
Wechat.ShareParams sp = new Wechat.ShareParams();
//微信分享网页的参数严格对照列表中微信分享网页的参数要求
sp.setTitle("标题");
sp.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");
/*Bitmap imageData = BitmapFactory.decodeResource(getResources(), R.drawable.logo);
sp.setImageData(imageData);*/
sp.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
sp.setUrl("http://sharesdk.cn");
sp.setShareType(Platform.SHARE_WEBPAGE);
Log.d("ShareSDK", sp.toMap().toString());
Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
// 设置分享事件回调(注:回调放在不能保证在主线程调用,不可以在里面直接处理UI操作)
wechat.setPlatformActionListener(new PlatformActionListener() {@Overridepublic void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {Log.d("ShareSDK", "onComplete ---->  分享成功");}@Overridepublic void onError(Platform platform, int i, Throwable throwable) {Log.d("ShareSDK", "onError ---->  分享失败" + throwable.getStackTrace().toString());Log.d("ShareSDK", "onError ---->  分享失败" + throwable.getMessage());}@Overridepublic void onCancel(Platform platform, int i) {Log.d("ShareSDK", "onCancel ---->  分享取消");}
});
// 执行图文分享
wechat.share(sp);
  • QQ分享链接
QQ.ShareParams sp = new QQ.ShareParams();
sp.setTitle("标题");
sp.setText("我是共用的参数,这几个平台都有text参数要求,提取出来啦");
sp.setImageUrl("https://hmls.hfbank.com.cn/hfapp-api/9.png");
sp.setTitleUrl("http://sharesdk.cn");
Log.d("ShareSDK", sp.toMap().toString());
Platform qq = ShareSDK.getPlatform(QQ.NAME);
// 设置分享事件回调(注:回调放在不能保证在主线程调用,不可以在里面直接处理UI操作)
qq.setPlatformActionListener(new PlatformActionListener() {@Overridepublic void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {Log.d("ShareSDK", "onComplete ---->  分享成功");}@Overridepublic void onError(Platform platform, int i, Throwable throwable) {Log.d("ShareSDK", "onError ---->  分享失败" + throwable.getStackTrace().toString());Log.d("ShareSDK", "onError ---->  分享失败" + throwable.getMessage());}@Overridepublic void onCancel(Platform platform, int i) {Log.d("ShareSDK", "onCancel ---->  分享取消");}
});
// 执行图文分享
qq.share(sp);

授权

授权代码比较固定,这里提供下微信授权、QQ授权:

微信授权

Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
//判定客户端是否可用
if (wechat.isClientValid()) {//客户端可用
}
if (wechat.isAuthValid()) {wechat.removeAccount(true);
}
wechat.setPlatformActionListener(new PlatformActionListener() {@Overridepublic void onComplete(Platform platform, int i, final HashMap<String, Object> hashMap) {/*platform.getDb().exportData()获取用户公共信息*/Log.d("ShareSDK", "onComplete ---->  登录成功" + platform.getDb().exportData());platform.getDb().getUserId();}@Overridepublic void onError(Platform platform, int i, Throwable throwable) {Log.d("ShareSDK", "onError ---->  登录失败" + throwable.toString());Log.d("ShareSDK", "onError ---->  登录失败" + throwable.getStackTrace().toString());Log.d("ShareSDK", "onError ---->  登录失败" + throwable.getMessage());}@Overridepublic void onCancel(Platform platform, int i) {Log.d("ShareSDK", "onCancel ---->  登录取消");}
});
wechat.SSOSetting(false);
wechat.showUser(null);

QQ授权

Platform qq = ShareSDK.getPlatform(QQ.NAME);
//判定客户端是否可用
if (qq.isClientValid()) {//客户端可用
}
if (qq.isAuthValid()) {qq.removeAccount(true);
}
qq.setPlatformActionListener(new PlatformActionListener() {@Overridepublic void onComplete(Platform platform, int i, final HashMap<String, Object> hashMap) {/*platform.getDb().exportData()获取用户公共信息*/Log.d("ShareSDK", "onComplete ---->  登录成功" + platform.getDb().exportData());platform.getDb().getUserId();}@Overridepublic void onError(Platform platform, int i, Throwable throwable) {Log.d("ShareSDK", "onError ---->  登录失败" + throwable.toString());Log.d("ShareSDK", "onError ---->  登录失败" + throwable.getStackTrace().toString());Log.d("ShareSDK", "onError ---->  登录失败" + throwable.getMessage());}@Overridepublic void onCancel(Platform platform, int i) {Log.d("ShareSDK", "onCancel ---->  登录取消");}
});
qq.SSOSetting(false);
qq.showUser(null);

ShareSDK Android端分享与授权示例代码相关推荐

  1. 播放器地址抓取 php,从优酷土豆视频地址中获取swf播放器分享地址 - PHP示例代码...

    从优酷土豆视频地址中获取swf播放器分享地址 - PHP示例代码 分类:PHP_Python| 发布:佚名| 查看: | 发表时间:2014/10/27 由于最近项目开发中遇到视频分享的功能,以下简单 ...

  2. Android网络通信的六种方式示例代码

    表1展示了Android SDK中的一些与网络有关的API包名 表1. Android SDK 网络包 包                      描述                        ...

  3. ShareSDK Android端权限说明

    ShareSDK使用权限情况 去除非必须的权限 普通权限去除 可以在module模块中的build.gradle文件中添加以下的配置去除Gradle自动加载的可选权限方法,去除之后无需添加其他配置功能 ...

  4. android 分享微信 不审核,ShareSDK Android 微信分享 绕过审核与不绕过审核

    首先,微信在android平台有两种方式:一种是绕过审核分享,一种是不绕过审核分享. 绕过审核和不绕过审核的对比图如下: 1.微信好友对比图: 绕过审核分享分享给微信好友时看到的只是图片文件,显示的是 ...

  5. ShareSDK Android端主流平台分享示例

    ShareSDK可以调用getPlatform接口设置要分享的平台,下面是分享示例: 微信分享示例(好友.朋友圈.收藏) 微信分享文本 Platform platform = ShareSDK.get ...

  6. html页面在微信分享php,详解html静态页面实现微信分享思路的示例代码分析

    微信分享网页的时候,希望分享出来的链接是标题+描述+缩略图,微信开发代码示例里已提供了方法,但只适用于动态页面.由于dedecms是生成了静态文件,其实我想使用ajax获取jssdk参数也能也能实现微 ...

  7. android 代码打开权限,android开发权限询问的示例代码

    现在基于信息安全问题,特别是版本是23以上权限越严格. 特别是拍照,读,写权限 一般权限允许过,下次就不用询问了的,所以很多应用都喜欢在首页或者启动页直接询问,不允许的就用不了1.下面给出封装好的类, ...

  8. android+微信分享代码,Android 微信分享icon黑边代码解决

    由于Android的 icon 四周圆角裁剪时为透明所以在分享到微信和QQ好友中呈现黑边. 代码解决办法 Bitmap bmp = BitmapFactory.decodeResource(insta ...

  9. android微信 icon,Android 微信分享icon黑边代码解决

    由于Android的 icon 四周圆角裁剪时为透明所以在分享到微信和QQ好友中呈现黑边. 代码解决办法 Bitmap bmp = BitmapFactory.decodeResource(insta ...

最新文章

  1. Android 相对布局别自己快遗忘的属性layout_alignRight,layout_alignBottom,layout_alignTop,layout_alignLeft
  2. sublime python配置_sublime python环境配置
  3. java校验ip格式_JAVA IP地址格式验证,使用正则表达式
  4. 算法----选择排序(select sort)
  5. 二进制安装kubernetes1.14.1-pod配置清单之客户端访问方式03
  6. Oracle 跨resetlogs的恢复
  7. VS 2010 使用项目 无法链接 DLL文件的问题
  8. 视频播放的方法Android,详解Android App中使用VideoView来实现视频播放的方法
  9. java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径
  10. [原创] 指针操作程序答案 — 谭浩强C语言习题答案
  11. TensorFlow 2.0快速上手指南12条:“Keras之父”亲授 | 高赞热贴
  12. 谁才是Transformer家族中的最强王者?谷歌告诉你答案
  13. #pragma code_seg(INIT)/code_seg(PAGE)
  14. Hi3519V101芯片介绍
  15. 如何利用 RPA 实现自动化获客?
  16. 40个增长和管理你的WordPress网站的有用博客工具
  17. php 区时,php时区时间怎么转换?
  18. 联想ghost重装系统_联想笔记本系统重装图文教程
  19. 基于jsp+java+ssm的大学生缴费系统
  20. python 中文排序(按拼音首字母)

热门文章

  1. d3js 实现水球图
  2. 基于asp.net319一嗨租车汽车租赁系统
  3. 海外SDK之----------韩国支付onestore
  4. 基于msp430G2553的低频方波频率、占空比、峰峰值测量函数
  5. 软件测试 遇到bug却无法重现怎么办?
  6. 奖客富翁系统代码C语言,木马代码-c语言木马代码,最简单的,我保证不做违法的 – 手机爱问...
  7. 熵权法(客观赋权法)
  8. TWI-I2C学习详解
  9. .NET ASP.NET支付宝支付接口调用实现
  10. 启程,万里长征的第一步