首页 > 代码库 > Android - 小功能 - 利用最新版ShareSDK进行手动分享(自定义分享界面)
Android - 小功能 - 利用最新版ShareSDK进行手动分享(自定义分享界面)
之前有用过Share SDK进行快捷分享,可是官方demo中的快捷分享的界面已经设置死了,而公司的产品又设计了自己的分享界面,这就需要我进行手动分享了。
看了一堆官方的文档,终于写出来了,好了,不废话,进入主题。
之前没有用过ShareSDK分享过的朋友建议先看看官方的文档,不要火急火急的就像照搬官方的demo,
此为文档地址:: http://wiki.sharesdk.cn/Android_快速集成指南
此为官方demo下载地址:http://sharesdk.cn/Download
此为我整合之后的直接分享源码下载地址:http://download.csdn.net/detail/u012573920/7214405
基本的集成方法,官方的文档里已经有说了,我这里就不多说了,要问我具体地址?,好吧,我服了你了: http://wiki.sharesdk.cn/Android_快速集成指南,
各个分享平台的开发者账户和应用注册信息地址请看这里:
新浪微博 http://open.weibo.com
腾讯微博 http://dev.t.qq.com
QQ空间 http://connect.qq.com/intro/login/
微信好友 http://open.weixin.qq.com
Facebook https://developers.facebook.com
Twitter https://dev.twitter.com
人人网 http://dev.renren.com
开心网 http://open.kaixin001.com
搜狐微博 http://open.t.sohu.com
网易微博 http://open.t.163.com
豆瓣 http://developers.douban.com
有道云笔记 http://note.youdao.com/open/developguide.html#app
印象笔记 https://dev.evernote.com/
Linkedin https://www.linkedin.com/secure/developer?newapp=
FourSquare https://developer.foursquare.com/
搜狐随身看 https://open.sohu.com/
Flickr http://www.flickr.com/services/
Pinterest http://developers.pinterest.com/
Tumblr http://www.tumblr.com/developers
Dropbox https://www.dropbox.com/developers
Instagram http://instagram.com/developer#
VKontakte http://vk.com/dev
当然,上面的直接地址是介绍快速集成的,我这里要介绍的是如何手动代码配置各个分享平台的信息和各个分享方法如何直接调接口完成。
官方demo中在assets目录下有一个ShareSDK.xml的配置文件,里面有一堆的配置信息,官方demo中有个方法使用来读取这些配置信息的,
而有时候我们不需要分享到这么多的平台,虽然官方demo中可以在ShareSDK.xml中设置各个平台的Enable="false",用于隐藏对应平台的分享按钮,
可这样实在不够清晰,我们开发这并不能很好的了解分享需要用到哪些代码,这一点,我想有过二次开发经验的朋友可以理解,
1 ...以下是官方demo里ShareSDK.xml文件中关于新浪微博的配置:
<SinaWeibo
Id="1"
SortId="1" //此平台在分享列表中的位置,由开发者自行定义,可以是任何整型数字,数值越大越靠后
AppKey="568898243"
AppSecret="38a4f8204cc784f81f9f0daaf31e02e3"
RedirectUrl="http://www.sharesdk.cn"
Enable="true" />
AppKey、AppSecret和RedirectUrl是您在新浪微博上注册开发者信息和应用后得到的信息
Id是一个保留的识别符,整型,ShareSDK不使用此字段,供您在自己的项目中当作平台的识别符。
Enable字段表示此平台是否有效,布尔值,默认为true,如果Enable为false,即便平台的jar包
已经添加到应用中,平台实例依然不可获取。
2...以下是我用代码配置的
HashMap<String, Object>map = new HashMap<String, Object>();
map.put("AppKey", ShareConfig.APPKEY_SINA_WEIBO);
map.put("AppSecret", ShareConfig.APPSECRET_SINA_WEIBO);
map.put("RedirectUrl", ShareConfig.REDIRECTURL_SINA_WEIBO);
map.put("ShareByAppClient", ShareConfig.SHAREBYAPPCLIENT_SINA_WEIBO);
map.put("Enable", ShareConfig.ENABLE_SINA_WEIBO);
ShareSDK.setPlatformDevInfo(SinaWeibo.NAME, map);
ShareSDK.initSDK(this, ShareConfig.APPKEY);
cn.sharesdk.sina.weibo.SinaWeibo.ShareParams sp = new cn.sharesdk.sina.weibo.SinaWeibo.ShareParams();
sp.setShareType(Platform.SHARE_WEBPAGE);// 一定要设置分享属性
sp.setText(share_text + share_url);
sp.setImageUrl(share_image);
sp.setImagePath("");
Platform weibo = ShareSDK.getPlatform(this, SinaWeibo.NAME);
weibo.setPlatformActionListener(this); // 设置分享事件回调
// 执行图文分享
weibo.share(sp);
以上的具体该怎么配置请详细阅读这两个网址:1.http://wiki.sharesdk.cn/Android_分享到指定平台
2.http://wiki.sharesdk.cn/Android_不同平台分享内容的详细说明
如果按照这些做下来之后还有问题的话,请参考这里:http://wiki.sharesdk.cn/Android_常见问题,
至于怎么定义分享界面,请查看源码
Android - 小功能 - 利用最新版ShareSDK进行手动分享(自定义分享界面)