一、ShareSDk 第一步
申请appkey———-登录官网http://www.mob.com/,设置应用名即可,结果如下:
第二步、下载sdk 解压后,目录如下:
第三步、在studio中配置 将ShareSDK for Android\Libs\MainLibs目录下的libs中 和 res中的内容直接拷贝到studio中对应的目录下,同样的,ShareSDK for Android\Libs\OneKeyShare目录下的src 和 res需要拷贝到studio中。当然了,还需要的是将ShareSDK for Android\Res下的ShareSDK.xml拷贝到studio的assets目录下
第五步、需要在各个平台申请appkey(有些平台的appkey直接使用sharesdk中提供的可以实现分享,但是为了保险起见,避免在某些情况下出错,还是要替换成自己实际申请到的appkey)
第六步、使用 在代码中调用showShare()方法:
private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用 oks.setTitle("标题"); // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用 oks.setTitleUrl("http://sharesdk.cn"); // text是分享文本,所有平台都需要这个字段 oks.setText("我是分享文本"); //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片 // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://sharesdk.cn"); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("我是测试评论文本"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite("ShareSDK"); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl("http://sharesdk.cn"); // 启动分享GUI oks.show(this); }OK,ShareSDK的使用就是这样了。
二、友盟
第一步、申请UMENG_APPKEY 第二步、下载sdk,可以选择需要的分享平台 第三步、去各个分享平台申请appkey 第四步、参考官方提供的as项目:social_sdk_example_as。将各个平台对应的appkey配置到代码中
//各个平台的配置,建议放在全局Application或者程序入口 { PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0"); //豆瓣RENREN平台目前只能在服务器端配置 PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com"); PlatformConfig.setYixin("yxc0614e80c9304c11b0391514d09f13bf"); PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); PlatformConfig.setTwitter("3aIN7fuF685MuZ7jtXkQxalyi", "MK6FEYG63eWcpDFgRYw4w9puJhzDl0tyuqWjZ3M7XJuuG7mMbO"); PlatformConfig.setAlipay("2015111700822536"); PlatformConfig.setLaiwang("laiwangd497e70d4", "d497e70d4c3e4efeab1381476bac4c5e"); PlatformConfig.setPinterest("1439206"); PlatformConfig.setKakao("e4f60e065048eb031e235c806b31c70f"); PlatformConfig.setDing("dingoalmlnohc0wggfedpk"); PlatformConfig.setVKontakte("5764965","5My6SNliAaLxEm3Lyd9J"); PlatformConfig.setDropbox("oz8v5apet3arcdy","h7p2pjbzkkxt02a"); }第五步、具体使用,参考上面的as项目即可。
OK,使用友盟分享就是这样了。
三、非集成化的分享方法
这种方法就是使用各个平台自己的api来实现分享,适合分享平台较少的情况。 上一段代码你就明白是怎么回事了
/** * Tencent类的shareToQQ函数可直接调用,不用用户授权(使用手机QQ当前的登录态)。调用将打开分享的界面,用户选择好友、群或讨论组之后,点击确定即可完成分享,并进入与该好友进行对话的窗口。 */ /** * @param isToQQ true QQ * false QZONE */ private void shareToTencent(boolean isToQQ) { // title对应的是QQShare.SHARE_TO_QQ_TITLE,这是QQ官方提供的,其他的参数类似 Bundle bundle = new Bundle(); bundle.putString("targetUrl", mShareURL); bundle.putString("title", mShareTitle); bundle.putString("summary", mShareContent); if (isToQQ) { bundle.putString("imageUrl", mShareImageUrl); mTencent.shareToQQ(this, bundle, mTencentCallback); // 刚开始老是缩略图显示不了,原来QQ分享有本地图片和在线图片之分,一定要只选其一 } else { ArrayList<String> imageList = new ArrayList<>(1); imageList.add(mShareImageUrl); bundle.putStringArrayList("imageUrl", imageList); mTencent.shareToQzone(this, bundle, mTencentCallback); // 刚开始点击分享老是没反应,后来才发现Qzone分享必须设置缩略图才行 } }上面这个就是通过腾讯官方api实现的分享到qq 和 qq空间的逻辑代码。类似的,可以去实现分享到各个平台的功能。但是如果平台太多的话,代码量就大了,所以如果分享平台多的话,还是使用集成化的分享方法比较方便,就是前面两种方法。
