ShareSdk集成之一,植入代码,可修改图标,修改分享样式

一、资料准备

  1、官方后台创建开发者账号,创建应用,获取key

   2、下载sdk;勾选要集成的平台;

    3、解压文件夹,得到以下目录;

3、再次生成需要的平台后


二、集成shareSdk

 1、(官方集成的第一种方式)
   直接复制jar和资源的方式,可以参考ShareSDK的Sample项目。 使用复制jar的方法,需要除了复制MainLibs/libs中的jar外,还需要复制  MainLibs/res中图片和strings,否则会出现授权时找不到资源的问题。 而且如果您的项目也集成了快捷分享,还需要复制OneKeyShare/src中的源码、OneKeyShare/res中的资源,如果你的项目里没有android-support-v4的jar需要把OneKeyShare/libs下的android-support-v4的jar到您的项目中。

    

2、将Sample下的libs复制到studio项目的的libs, 将assets复制到studio下。将SampleSample\src\cn\sharesdk\onekeyshare复制到java下。同时复制资源文件将Sample\res下的文江复制到对应文件下

      

3、得到studio下的文件(一些jar是其他的,于本文无关,复制sample下的即可)


4、这是分享用到的资源文件(不复制,会没有图片和文字但可以分享)


5、在ShareSdk.xml中进行设置,写入对应的微信和qq等三方平台得到的AppSecret和AppKey

三、进行样式改变(浅析)

https://blog.csdn.net/baidu_27282085/article/details/70319385

四、使用

ShareSDK.initSDK(this);
OnekeyShare oks = new OnekeyShare();
// 关闭sso授权
oks.disableSSOWhenAuthorize();
oks.setTitle(shareBean.title);
// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
oks.setTitleUrl(shareBean.url);
// text是分享文本,所有平台都需要这个字段
oks.setText(shareBean.content);
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
// oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
if(StringUtils.isNotEmpty(shareBean.cover_url)) {
    oks.setImageUrl(shareBean.cover_url);
}else{
    oks.setImageUrl(URLHelper.ShareImageURL);
}
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl(shareBean.url);
oks.setCallback(new PlatformActionListener() {
    @Override
    public void onError(Platform platform, int arg1, Throwable t) {
        // TODO Auto-generated method stub
        Log.e("sharesdk","sharesdk-error="+t.toString());
        if (SinaWeibo.NAME.equals(platform.getName())){
            platform.removeAccount(true);
        }
    }
    @Override
    public void onComplete(Platform platform, int arg1,
                           HashMap<String, Object> arg2) {
        if (SinaWeibo.NAME.equals(platform.getName())||platform.getName().equals("QZone")||platform.getName().equals("WechatMoments")) {
            mHandler.post(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(mContext, "分享成功", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
    @Override
    public void onCancel(Platform arg0, int arg1) {

    }
});// 調用自己設置的callback
// 启动分享GUI
oks.show(this);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值